home *** CD-ROM | disk | FTP | other *** search
/ Power CD-ROM!! 8 / Power CD-ROM 8.iso / dos / tbav630 / tbav.doc < prev    next >
Encoding:
Text File  |  1994-12-05  |  306.9 KB  |  7,747 lines

  1.  
  2.  
  3.  
  4.      SECTION 0. INTRODUCTION
  5.           1. How to use the manual . . . . . . . . . . . . . . . . .     0 - 1
  6.           2. Overview of the TBAV utilities  . . . . . . . . . . . .     0 - 1
  7.  
  8.      SECTION I. INSTALLING TBAV
  9.           1. How to install TBAV   . . . . . . . . . . . . . . . . .     I - 1
  10.                1.1 Initial installation  . . . . . . . . . . . . . .     I - 1
  11.                1.2 Menu and command syntax . . . . . . . . . . . . .     I - 4
  12.           2. Configuration . . . . . . . . . . . . . . . . . . . . .     I - 6
  13.           3. TbSetup . . . . . . . . . . . . . . . . . . . . . . . .     I - 8
  14.                3.1. The Purpose of TbSetup . . . . . . . . . . . . .     I - 8
  15.                3.2. How to use TbSetup . . . . . . . . . . . . . . .     I - 8
  16.                3.3. Command line options . . . . . . . . . . . . . .    I - 13
  17.                3.4. While executing  . . . . . . . . . . . . . . . .    I - 15
  18.           4. TbDriver  . . . . . . . . . . . . . . . . . . . . . . .    I - 18
  19.                4.1. Purpose of TbDriver  . . . . . . . . . . . . . .    I - 18
  20.                4.2. Command line options . . . . . . . . . . . . . .    I - 18
  21.                4.3. Language support . . . . . . . . . . . . . . . .    I - 21
  22.           5. System maintenance  . . . . . . . . . . . . . . . . . .    I - 22
  23.           6. Network maintenance . . . . . . . . . . . . . . . . . .    I - 23
  24.                6.1. Using DOS REPLACE  . . . . . . . . . . . . . . .    I - 23
  25.                6.2. Using PkUnZip  . . . . . . . . . . . . . . . . .    I - 23
  26.  
  27.      SECTION II. ANTI-VIRUS STRATEGY
  28.           1. Protection against viruses  . . . . . . . . . . . . . .    II - 1
  29.                1.1. Introduction . . . . . . . . . . . . . . . . . .    II - 1
  30.                1.2. Basic precautions  . . . . . . . . . . . . . . .    II - 1
  31.           2. What to do when a virus strikes . . . . . . . . . . . .    II - 6
  32.                2.1. Detection of viruses . . . . . . . . . . . . . .    II - 6
  33.                2.2. Recovering from viruses  . . . . . . . . . . . .    II - 7
  34.  
  35.      SECTION III. USING THE TBAV UTILITIES
  36.           1. TbScan  . . . . . . . . . . . . . . . . . . . . . . .     III - 1
  37.                1.1. The Purpose of TbScan  . . . . . . . . . . . .     III - 1
  38.                1.2. How to use Tbscan  . . . . . . . . . . . . . .     III - 2
  39.                1.3. Command line options . . . . . . . . . . . . .    III - 11
  40.                1.4. The scanning process . . . . . . . . . . . . .    III - 18
  41.           2. TbScanX . . . . . . . . . . . . . . . . . . . . . . .    III - 22
  42.                2.1. The Purpose of TbScanX . . . . . . . . . . . .    III - 22
  43.                2.2. How to use TbScanX . . . . . . . . . . . . . .    III - 22
  44.                2.3. Command line options . . . . . . . . . . . . .    III - 23
  45.                2.4. While scanning . . . . . . . . . . . . . . . .    III - 26
  46.           3. TbCheck . . . . . . . . . . . . . . . . . . . . . . .    III - 28
  47.                3.1. The Purpose of TbCheck . . . . . . . . . . . .    III - 28
  48.                3.2. How to use TbCheck . . . . . . . . . . . . . .    III - 28
  49.                3.3. Command line options . . . . . . . . . . . . .    III - 29
  50.                3.4. While checking . . . . . . . . . . . . . . . .    III - 31
  51.                3.5. Testing TbCheck  . . . . . . . . . . . . . . .    III - 31
  52.           4. TbClean . . . . . . . . . . . . . . . . . . . . . . .    III - 32
  53.                4.1. The Purpose of TbClean . . . . . . . . . . . .    III - 32
  54.                4.2. How to use TbClean . . . . . . . . . . . . . .    III - 33
  55.                4.3. Command line options . . . . . . . . . . . . .    III - 35
  56.                4.4. The cleaning process . . . . . . . . . . . . .    III - 36
  57.  
  58.  
  59. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                  CONTENTS
  60.  
  61.  
  62.           5. Ongoing virus prevention: TbMon . . . . . . . . . . .    III - 40
  63.                5.1. TbMem  . . . . . . . . . . . . . . . . . . . .    III - 41
  64.                5.2. TbFile . . . . . . . . . . . . . . . . . . . .    III - 45
  65.                5.3. TbDisk . . . . . . . . . . . . . . . . . . . .    III - 47
  66.           6. TBAV Tools  . . . . . . . . . . . . . . . . . . . . .    III - 53
  67.                6.1. TbUtil . . . . . . . . . . . . . . . . . . . .    III - 53
  68.                6.2. TbLog  . . . . . . . . . . . . . . . . . . . .    III - 61
  69.  
  70.      SECTION IV. ADVANCED USER INFORMATION
  71.           1. Memory requirements . . . . . . . . . . . . . . . . . .    IV - 1
  72.           2. TbSetup . . . . . . . . . . . . . . . . . . . . . . . .    IV - 3
  73.                2.1. Anti-Vir.Dat design considerations . . . . . . .    IV - 3
  74.                2.2. Format of TbSetup.Dat  . . . . . . . . . . . . .    IV - 3
  75.                2.3. TBAV site installation . . . . . . . . . . . . .    IV - 5
  76.           3. TbScan  . . . . . . . . . . . . . . . . . . . . . . . .    IV - 7
  77.                3.1. Heuristic scanning . . . . . . . . . . . . . . .    IV - 7
  78.                3.2. Integrity checking . . . . . . . . . . . . . . .    IV - 8
  79.                3.3. Program validation . . . . . . . . . . . . . . .    IV - 9
  80.                3.4. The algorithms . . . . . . . . . . . . . . . . .    IV - 9
  81.                3.5. The TbScan.Lng file  . . . . . . . . . . . . .     IV - 11
  82.                3.6. The TBAV.MSG file  . . . . . . . . . . . . . .     IV - 11
  83.           4. TbClean . . . . . . . . . . . . . . . . . . . . . . .     IV - 12
  84.           5. TbGensig  . . . . . . . . . . . . . . . . . . . . . .     IV - 15
  85.                5.1 The Purpose of TbGenSig . . . . . . . . . . . .     IV - 15
  86.                5.2 Defining signatures . . . . . . . . . . . . . .     IV - 15
  87.                5.3 Keywords  . . . . . . . . . . . . . . . . . . .     IV - 18
  88.                5.4 Wildcards . . . . . . . . . . . . . . . . . . .     IV - 21
  89.  
  90.      Appendix A. TBAV messages
  91.  
  92.      Appendix B. TbScan - Heuristic flag descriptions
  93.  
  94.      Appendix C. Solving incompatibility problems
  95.  
  96.      Appendix D. Batch file handling
  97.  
  98.      Appendix E. Virus naming
  99.  
  100.  
  101. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION 0
  102.  
  103.  
  104. SECTION 0. INTRODUCTION
  105.  
  106.  
  107. 1. How to use the manual
  108.  
  109.      Congratulations! By purchasing the ThunderBYTE Anti-Virus utilities you
  110.      have taken the basic step in building a massive anti-viral safety wall
  111.      around your precious computer system. Setting up the appropriate defen-
  112.      se, using the TBAV utilities, is a 'personal matter'. Therefore, we
  113.      highly recommend to read this manual thoroughly, so you are well aware
  114.      of all different kinds of security measures you may take. 
  115.  
  116.      This manual consists of four main sections. Section I instructs you how
  117.      to install the TBAV utilities on your hard disk(s), including some
  118.      useful hints on customized initialization. Section II gives an instruc-
  119.      tion on how to prevent viruses from infecting your computer system(s)
  120.      and directions on how to handle when you actually have been struck by a
  121.      computer virus.
  122.  
  123.      In section III, both purpose and functionality of all TBAV utilities are
  124.      described. For those who want to know more about the subject, some
  125.      'advanced user information' on the ThunderBYTE Anti-Virus utilities is
  126.      presented in section IV. 
  127.  
  128.      You may use the TBAV manual as a reference manual, via an extensive
  129.      index and appendices referring to the TBAV error messages. 
  130.  
  131. =>   Note that a complete reading of the manual is indispensible in order to
  132.      become familiar with the many facets of ThunderBYTE Anti-Virus, to know
  133.      what steps can - and must - be taken to ensure adequate protection and
  134.      to be fully prepared for a complete recovery, if and when disaster
  135.      strikes. 
  136.  
  137.  
  138. 2. Overview of the TBAV utilities
  139.  
  140.      What is ThunderBYTE Anti-Virus?
  141.  
  142.      ThunderBYTE Anti-Virus (TBAV) is a comprehensive toolkit designed to
  143.      protect against - and recover from - computer viruses. While TBAV
  144.      focuses heavily on numerous ways to prevent a virus infection, the
  145.      package would not be complete without various cleaner programs to purge
  146.      a system, in the unlikely event that a virus manages to slip through.
  147.      The package therefore consists of a number of programs each of which
  148.      help you to prevent viruses to do their destructive jobs. Here is a
  149.      quick overview. 
  150.  
  151.  
  152.      Collecting software information: TbSetup
  153.  
  154.      TbSetup is a program that collects information from all software found
  155.      on your system. The information will be put in files named Anti-Vir.Dat.
  156.  
  157.                                        0 - 1
  158.  
  159.  
  160. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION 0
  161.  
  162.  
  163.      The information maintained in these files can be used for integrity
  164.      checking, program validation, and to clean infected files.
  165.  
  166.  
  167.      Enable memory resident TBAV utilities: TbDriver
  168.  
  169. ~    TbDriver does not provide much protection against viruses by itself, but
  170.      must be loaded in advance to enable the memory resident ThunderBYTE
  171.      Anti-Virus utilities, such as TbScanX, TbCheck, TbMem, TbFile and TbDisk
  172.      to perform properly. It also provides basic protection against ANSI
  173.      bombs and 'stealth' viruses.
  174.  
  175.  
  176.      Scanning for viruses: TbScan
  177.  
  178.      TbScan is both a very fast signature scanner and a so-called heuristic
  179.      scanner. Besides its blazing speed it has many configuration options. It
  180.      can detect mutants of viruses, it can bypass stealth type viruses, etc.
  181.      The signature file used by TbScan is a coded 'TbScan.Sig' file, which
  182.      can be updated by yourself in case of emergency.  TbScan is able to
  183.      disassemble and decrypt files. This makes it possible to detect suspici-
  184.      ous instruction sequences and to detect yet unknown viruses. This
  185.      generic detection, named heuristic analysis, is a technique that makes
  186.      it possible to detect about 90% of all viruses by searching for suspici-
  187.      ous instruction se-quences rather than using any signature. For that
  188.      purpose TbScan contains a disassembler, decryptor and code analyzer.
  189.  
  190.      Another feature of TbScan is the integrity checking it performs when it
  191.      finds the Anti-Vir.Dat files generated by TbSetup. 'Integrity checking'
  192.      means that TbScan will check that every file being scanned matches the
  193.      information maintained in the Anti-Vir.Dat files. If a virus infects a
  194.      file, the maintained information will not match the now changed file
  195.      anymore, and TbScan will inform you about this. 
  196.  
  197.      TbScan performs an integrity check automatically, and it does not have
  198.      the false alarm rate other integrity checkers have. The goal is to
  199.      detect viruses and not to detect configuration changes!
  200.  
  201.  
  202.      Automatic scanning: TbScanX
  203.  
  204.      TbScanX is the memory resident version of TbScan. This signature scanner
  205.      remains resident in memory and automatically scans those files which are
  206.      being executed, copied, de-archived, downloaded, etc. TbScanX does not
  207.      require much memory. It can swap itself into expanded, XMS, or high
  208.      memory, using only 1Kb of conventional memory.
  209.  
  210.  
  211.      Check while loading: TbCheck
  212.  
  213.      TbCheck is a memory resident integrity checker. This program remains
  214.      resident in memory and checks automatically every file just before it is
  215.  
  216.                                        0 - 2
  217.  
  218.  
  219. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION 0
  220.  
  221.  
  222.      being executed. TbCheck uses a fast integrity checking method, consuming
  223.      only 400 bytes of memory. It can be configured to reject files with
  224.      incorrect checksums, and/or to reject files that do not have a corres-
  225.      ponding Anti-Vir.Dat record.
  226.  
  227.  
  228.      Restoring infected boot-sector, CMOS and partition tables: TbUtil
  229.  
  230.      Some viruses copy themselves into the hard disk's partition table, which
  231.      makes them far more difficult to remove than bootsector viruses. Perfor-
  232.      ming a low-level format is an effective, but rather drastic measure.
  233.      TbUtil offers a more convenient alternative by making a precautionary
  234.      back-up of uninfected partition tables and the boot sector. If an
  235.      infection occurs, the TbUtil back-up can be used as a verifying tool and
  236.      as a means to restore the original (uninfected) partition table and
  237.      bootsector without the need for a destructive disk format. The program
  238.      can also restore the CMOS configuration for you. If a back-up of your
  239.      partition table is not available, TbUtil will try to create a new
  240.      partition table anyway, again avoiding the need for a low-level format. 
  241.  
  242.      Another important feature of TbUtil is the option to replace the parti-
  243.      tion table code with new code offering greater resistance to viruses.
  244.      The TbUtil partition code is executed before the boot sector gains
  245.      control, enabling it to check this sector in a clean environment. The
  246.      TbUtil partition code performs a CRC calculation on the master boot
  247.      sector just before the boot sector code is activated and issues a
  248.      warning if the boot sector has been modified. The TbUtil partition code
  249.      also checks and reports changes in the RAM lay-out. These checks are
  250.      carried out whenever the computer is booted from the hard disk.
  251.  
  252.      It should be noted that boot sector verification is imperative before
  253.      allowing the boot sector code to execute. A virus could easily become
  254.      resident in memory during boot-up and hide its presence. TbUtil offers
  255.      total security at this stage by being active before the boot sector is
  256.      executed. Obviously, TbUtil is far more convenient than the traditional
  257.      strategy of booting from a clean DOS diskette for an undisturbed inspec-
  258.      tion of the boot sector.
  259.  
  260.  
  261.      Reconstructing infected files: TbClean
  262.  
  263.      TbClean is a generic file cleaning utility. It uses the Anti-Vir.Dat
  264.      files generated by TbSetup to enhance file cleaning and/or to verify the
  265.      results. TbClean can however also work without these files. It disassem-
  266.      bles and emulates the infected file and uses this analysis to recon-
  267.      struct the original file.
  268.  
  269.  
  270.      Resident safeguard: TbMon
  271.  
  272.      TbMon is a set of memory resident anti-virus utilities, consisting of
  273.      TbMem, TbFile and TbDisk. Most other resident anti-virus products offer
  274.  
  275.                                        0 - 3
  276.  
  277.  
  278. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION 0
  279.  
  280.  
  281.      you the choice to invoke them before the network is loaded and losing
  282.      the protection after the logon procedure, or to load the anti-viral
  283.      software AFTER the logon to the network, resulting in a partially
  284.      unprotected system. The ThunderBYTE Anti-Virus utilities however recog-
  285.      nize the network software and take appropriate actions to ensure their
  286.      functionality.
  287.  
  288.  
  289.      Controlling memory: TbMem
  290.  
  291. ~    TbMem detects attempts from programs to remain resident in memory, and
  292.      ensures that no program can remain resident in memory without permis-
  293.      sion. Since most viruses remain resident in memory, this is a powerful
  294.      weapon against all such viruses, known or unknown. Permission informa-
  295.      tion is maintained in the Anti-Vir.Dat files. TbMem also protects your
  296.      CMOS memory against unwanted modifications.
  297.  
  298.  
  299.      Preventing infection: TbFile
  300.  
  301.      TbFile detects attempts from programs to infect other programs. It also
  302.      guards read-only attributes, detects illegal time-stamps, etc. It will
  303.      make sure that no virus succeeds in infecting programs.
  304.  
  305.  
  306.      Protecting the disk: TbDisk
  307.  
  308.      TbDisk is a disk guard program which detects attempts from programs to
  309.      write directly to disk (without using DOS), attempts to format, etc.,
  310.      and makes sure that no malicious program will succeed in destroying your
  311.      data. This utility also traps tunneling and direct calls into the BIOS
  312.      code. Permission information about the rare programs that write directly
  313.      and/or format the disk is maintained in the Anti-Vir.Dat files.
  314.  
  315.  
  316.      Define your own signatures (in case of an emergency): TbGensig
  317.  
  318.      Since TBAV is distributed with an up-to-date, ready-to-use signature
  319.      file, you do not really need to maintain a signature file yourself. If,
  320.      however, you want to define your own virus signatures, you will need the
  321.      TbGensig utility. You can use either published signatures or define your
  322.      own ones if you are familiar with the structure of software.
  323.  
  324.  
  325.      Remove infected files: TbDel
  326.  
  327.      The DOS 'DEL' command does not actually erase a file. It simply changes
  328.      the first filename character in the directory listing and frees up the
  329.      space by changing the disk's internal location tables. TbDel is a small
  330.      program with just one but important purpose: it replaces every single
  331.      byte in a file with zero characters before deleting it. The entire
  332.      contents are therefore obliterated and totally unrecoverable.
  333.  
  334.                                        0 - 4
  335.  
  336.  
  337. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  338.  
  339.  
  340. SECTION I. INSTALLING TBAV
  341.  
  342.  
  343. 1. How to install TBAV 
  344.  
  345.  
  346.      System requirements
  347.  
  348.      The ThunderBYTE Anti-Virus utilities can be executed on any IBM or
  349.      compatible PC with at least 1 Mb disk space. The TBAV utilities need 256
  350.      Kb free internal memory and require DOS 3. However, DOS 5 or a later
  351.      version is recommended. The TBAV utilities are compatible with networks,
  352.      Windows, DR-DOS, etc. 
  353.  
  354.  
  355. 1.1 Initial installation
  356.  
  357.      You can install the TBAV utilities either by using the installation
  358.      procedure (which is explained below) or by a fully customized TBAV
  359.      installation (which is explained in sections  I - 3 and II).
  360.  
  361.      Insert the TBAV installation diskette in the diskette drive.
  362.  
  363.      Type:
  364.           A: or B:
  365.  
  366.      Type:
  367.           install C:\TBAV <Enter>
  368.  
  369.  
  370.           +---------------------------------------+
  371.           |    F1  First time installation        |
  372.           |    F2  Update installation            |
  373.           |    F3  About....                      |
  374.           |    F4  Exit....                       |
  375.           +---------------------------------------+
  376.  
  377.      Since this is the first time you install the TBAV package you choose the
  378.      first option by pressing <Enter> or <F1>.
  379.  
  380.  
  381.      ----- [ Please select Drive to install TBAV to: ]-----           
  382.          You need at least 1024 KB of available space to install TBAV !
  383.  
  384.                C:     3581952 
  385.                D:    21291008
  386.  
  387.  
  388.      Toggle to the disk on which the TBAV utilities must be installed. TBAV
  389.      Install displays the amount of free disk space of each available disk.
  390.  
  391.  
  392.  
  393.                                        I - 1
  394.  
  395.  
  396. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  397.  
  398.  
  399.      Next, TBAV Install will prompt you for the TBAV directory. The default
  400.      directory is \TBAV:
  401.  
  402.  
  403.      -----[ Please select Directory to install TBAV to: ]-----
  404.           [C:\TBAV                                      ] 
  405.  
  406.  
  407.      If the specified directory does not exist, the installation pro-gram
  408.      will create it. Subsequently, the TBAV files are copied onto your hard
  409.      disk.
  410.  
  411.      +-----------------------------------------------------------+
  412.      |    The documentation for TBAV is compressed into a file.  |
  413.      |    The documentation-file will now be self-extracted.     |
  414.      |    Press any key when ready....                           |
  415.      |                                                           |
  416.      |                                                           |
  417.      |         Inflating: c:/tbav/TBSCAN.DOC    -AV              |
  418.      |         Inflating: c:/tbav/TBSCANX.DOC   -AV              |
  419.      |         Inflating: c:/tbav/TBCLEAN.DOC   -AV              |
  420.      +-----------------------------------------------------------+
  421.  
  422.      The packed text files are copied onto your hard disk and inflated. After
  423.      copying all files, TbSetup is loaded, which will generate or update the
  424.      Anti-Vir.Dat file of the TBAV directory.
  425.  
  426.  
  427.      +-----------------------------------------------------------+
  428.      |    TbSetup will now generate or update the Anti-Vir.Dat   |
  429.      |         file of the directory C:\TBAV                     |
  430.      |              Press any key when ready...                  |
  431.      +-----------------------------------------------------------+
  432.  
  433.      The ThunderBYTE Anti-Virus utilities are copied to the destination
  434.      directory. The installation program helps you to setup the utilities in
  435.      their most standard and non-customized way. After reading the manual
  436.      thoroughly, you can configure the package to suit your own personal
  437.      needs.
  438.  
  439.      +-----------------------------------------------------------+
  440.      | This installation program helps you to setup the utilities|
  441.      |         in their most standard and non-customized way.    |
  442.      |              Do you want to continue ? (Y/N)              |
  443.      +-----------------------------------------------------------+
  444.  
  445.      If 'No', TBAV Install will not prompt you for placing the memory resi-
  446.      dent TBAV utilities in the autoexec.bat file, nor for creating the Anti-
  447.      Vir.Dat files. If yes, TBAV Install backs up your original Autoexec.Bat
  448.      file and appends a call to the tbstart.bat file. For easy access of the
  449.      TBAV utilities it is recomended to put them into your PATH environment
  450.      variable. Your Autoexec.Bat file now looks like this:
  451.  
  452.                                        I - 2
  453.  
  454.  
  455. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  456.  
  457.  
  458.           @ECHO OFF
  459.           PATH C:\TBAV
  460.  
  461.           call C:\TBAV\tbstart.bat
  462.  
  463.      Subsequently, TbSetup will process the indicated drive to generate the
  464.      Anti-Vir.Dat files. You may need to repeat this process for other
  465.      drives. Consult the relevant section for more information!
  466.  
  467.  
  468.      The TBAV package contains some utilities that can be instal-
  469.      led in the memory of your PC. For each of these utilities you can
  470.      indicate whether the installation program must add them to the
  471.      Tbstart.bat file:
  472.  
  473.           TBSCANX is a memory resident virus scanner.
  474.                     Do you want to install it ? (Y/N)
  475.  
  476.           TBCHECK is a memory resident integrity checker.
  477.                Do you want to install it ? (Y/N)
  478.  
  479.           TBMEM is a resident memory guard.
  480.                Do you want to install it ? (Y/N
  481.  
  482.           TBFILE is a resident file guard.
  483.                Do you want to install it ? (Y/N)
  484.  
  485.  
  486.      If you answer the subsequent question with Yes, TBAV will scan your
  487.      system for viruses automatically once every day:
  488.  
  489.           Do you want the system to be scanned automatically
  490.                for viruses every day ? (Y/N)
  491.  
  492.  
  493.      The installation program will write the indicated configuration values
  494.      in the 'tbstart.bat' file, which is located in the Thunder-BYTE directo-
  495.      ry you specified before, eg.:
  496.  
  497.           C:\TBAV\tbdriver
  498.           C:\TBAV\tbscanx
  499.           C:\TBAV\tbcheck
  500.           C:\TBAV\tbmem
  501.           C:\TBAV\tbfile
  502.           C:\TBAV\tbscan /once /alldrives
  503.  
  504.      Finally, you can force the TBAV utilities to scan your disk right away.
  505.  
  506.      It is very likely that some of the TBAV utilities are going to display
  507.      messages when you reboot and continue using the computer as you normally
  508.      would. Some programs perform operations that are monitored by the TBAV
  509.      utilities, so TBAV must first 'learn' which programs need proper permis-
  510.  
  511.                                        I - 3
  512.  
  513.  
  514. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  515.  
  516.  
  517.      sion. Execute some of the programs you use regularly and at each rele-
  518.      vant query respond with 'Y' to authorize or 'N' to deny permission. TBAV
  519.      will remember the settings and not bother you again. Reboot the computer
  520.      at the end of this test run. 
  521.  
  522.      The TBAV utilities are now ready to monitor the system and will issue a
  523.      warning if something suspicious - or worse - is about to happen. They
  524.      will also warn you if any new file contains a possible virus - well
  525.      before it can do any harm.
  526.  
  527.  
  528. 1.2 Menu and command syntax
  529.  
  530.      You can activate most of the TBAV utilities from within the TBAV menu,
  531.      by loading:
  532.  
  533.           cd\tbav
  534.           tbav
  535.  
  536.      In order to execute the utilities automatically, all TBAV drivers and
  537.      utilities may be executed from the DOS prompt. In a systemized setup,
  538.      however, the drivers should be installed and activated in your Con-
  539.      fig.Sys, with a device= or install= directive, or in the TbStart.Bat
  540.      file as a TSR. Similarly, most utilities can be started automatically -
  541.      in the case of TbScan restricted to once a day - in the TbStart.Bat
  542.      file. The two exceptions are TbClean and TbDel, which should be executed
  543.      only from the DOS prompt and (TbClean) from within the TBAV menu.
  544.  
  545.      All commands for ThunderBYTE Anti-Virus can be used with command line
  546.      switches or options to control special features. The options may either
  547.      be written out in full, or abbreviated to their one- or two-letter
  548.      mnemonic to shorten the command line. Throughout this manual the exam-
  549.      ples are given with options in verbose, unabbreviated form for clarity.
  550.      Options must be separated by spaces. They do not need a preceding switch
  551.      character, but you may use the customary slash or hyphen switch charac-
  552.      ters if you wish.
  553.  
  554.      The standard command line syntax for all ThunderBYTE Anti-Virus commands
  555.      is:
  556.  
  557.           command [<path>] [<filename>] [<option>] ... [<suboption>] ...
  558.  
  559.      You may review the correct syntax for any command, including a complete
  560.      option list, with the command followed by the word 'help' or a question
  561.      mark, as in:
  562.  
  563.           tbcheck ?
  564.  
  565.      The same on-line help is provided whenever the command is issued with an
  566.      invalid option.
  567.  
  568.  
  569.  
  570.                                        I - 4
  571.  
  572.  
  573. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  574.  
  575.  
  576.      The examples, presented in this manual assume that all utilities were
  577.      installed in the default \TBAV directory.
  578.  
  579.  
  580.      Create a recovery diskette!
  581.  
  582.      It is highly recommended to make a recovery diskette. The example setups
  583.      assume you have created such a recovery diskette (see the instructions
  584.      in section II). 
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.                                        I - 5
  630.  
  631.  
  632. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  633.  
  634.  
  635. 2. Configuration
  636.  
  637.      The choices you made when installing the TBAV utilities may need some
  638.      tuning, for instance by appending options to the loading command. This
  639.      tuning can be done by editing the TBSTART.BAT file, which automatically
  640.      loads the memory resident utilities. 
  641.  
  642. =>   If suitable, you may write the relevant commands in the Config.Sys file
  643.      instead. Do not forget to specify the .EXE extension in the Config.Sys
  644.      file!
  645.  
  646.      Below, some basic hints are presented, to customize the initial settings
  647.      to suit your own needs. After initializing and rebooting your system for
  648.      the first time afterwards, TBAV will need your response in the initial
  649.      'learning' stage.
  650.  
  651.  
  652.      TBAV menu configuration
  653.  
  654.      The TBAV menu allows some configuration, as well.
  655.  
  656.      +----Main menu-----+
  657.      |  Confi+----------TBAV configuration----------+
  658.      |  TbSet|v Use colors                          |
  659.      |  TbSca|  Save configuration to TBAV.INI      |
  660.      |  TbUti|  File view utility                   |
  661.      |  TbCLe|v Wait after program execution        |
  662.      |  TBAV |  Show command line before executing  |
  663.      |  Docum|v Edit path string before scanning    |
  664.      |  Regis+--------------------------------------+
  665.      |  Quit and save   |
  666.      |  eXit (no save)  |
  667.      +------------------+
  668.  
  669.      You can activate the configuration options by toggling to the relevant
  670.      choice and pressing <Enter>.
  671.  
  672.  
  673.      Use colors
  674.  
  675.      If disabled, TBAV will be displayed in monochrome mode, which is conve-
  676.      nient for use on laptop computers.
  677.  
  678.  
  679.      Save configuration to TBAV.INI
  680.  
  681.      All configuration values, set within the TBAV menu, are saved in the
  682.      'TBAV.INI' file, once you have selected this option. The next time you
  683.      load the TBAV utilities the configuration values in the current TBAV.INI
  684.      file will be valid. These values apply to the TBAV menu itself and the
  685.      utilities TbSetup, TbScan and TbClean. Although you may edit the TBAV.I-
  686.      NI file manually, it is recommended to let the TBAV menu shell generate
  687.  
  688.                                        I - 6
  689.  
  690.  
  691. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  692.  
  693.  
  694.      it. By default, the contents of the TBAV.INI file is only valid while
  695.      using the TBAV menu shell. You may, however, enable the "Use TBAV.INI
  696.      file" options (or specify the 'UseIni' switches in the TBAV.INI file
  697.      itself) for each of the utilities mentioned above. Doing so, the confi-
  698.      guration, saved in the TBAV.INI file will also be valid when TbSetup,
  699.      TbScan or TbClean are loaded from the command line. Be careful, since
  700.      options specified in the TBAV.INI file can not be undone on the command
  701.      line. TBAV will create a TBAV.INI file when enabling this option for the
  702.      first time. In this file all valid configuration switches are listed.
  703.      The disabled switches are preceded by a semicolon.
  704.  
  705.  
  706.      File view utility
  707.  
  708.      TbSetup and TbScan generate a datafile and a logfile respectively. By
  709.      default, you can view these files from the TBAV menu using an internal
  710.      file view utility. By using this option you are able to attach your
  711.      favorite external file view utility. Enter the complete path and the
  712.      file name, including the extension.
  713.  
  714.  
  715.      Wait after program execution
  716.  
  717.      By enabling this option, TBAV will display the message:
  718.      "Press any key to return to the TBAV utilities" after executing an
  719.      external utility.
  720.  
  721.  
  722.      Show command line before executing
  723.  
  724.      Enabling this option will force TBAV to display the DOS command which
  725.      will load the external utility. This option comes in handy in order to
  726.      see the command(s) you specified before. After pressing <Enter> TBAV
  727.      will execute the DOS commands.
  728.  
  729.  
  730.      Edit path string before scanning
  731.  
  732.      If enabled, you are prompted to edit or confirm the path to be scanned
  733.      after you have selected "Start scanning".
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.                                        I - 7
  748.  
  749.  
  750. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  751.  
  752.  
  753. 3. TbSetup
  754.  
  755.  
  756. 3.1. The Purpose of TbSetup
  757.  
  758.      TbSetup is an indispensible tool, adding support to the rest of the
  759.      ThunderBYTE Anti-Virus utilities, even though it does not take an active
  760.      part in actual virus detection or cleaning itself. TbSetup organizes
  761.      control and recovery information giving extra power to the other utili-
  762.      ties. The information is gathered, mainly from program files, into a
  763.      single reference file called Anti-Vir.Dat, one each per directory. The
  764.      nature of Anti-Vir.Dat files will be explained more fully at the end of
  765.      this chapter.
  766.  
  767.      Although the ThunderBYTE utilities can work perfectly well without the
  768.      Anti-Vir.Dat files it is highly recommended to have TbSetup generate
  769.      these files. The Anti-Vir.Dat files can be used for several purposes:
  770.  
  771.      Integrity checking. TbScan and the memory resident TbCheck program will
  772.      perform an integrity check while scanning if it can detect the Anti-
  773.      Vir.Dat file. If a file gets infected by a virus, the information in the 
  774.      Anti-Vir.Dat file will not match the actual file contents, and TbScan
  775.      and TbCheck will inform you that the file has been changed. 
  776.  
  777.      The TbSetup program recognizes some files that need special treatment.
  778.      An example of such a file is a disk image file of a network remote boot
  779.      disk. - Such a file that actually represents a complete disk - should be
  780.      scanned completely, and for all viruses. TbSetup will put a mark in the
  781.      Anti-Vir.Dat file to make sure that TbScan scans the complete file for
  782.      all viruses.
  783.  
  784.      Once a file is infected, TbClean will reconstruct the original file. The
  785.      information in the Anti-Vir.Dat file will be of great help to TbClean.
  786.      Some infected programs can only be cured if there is information about
  787.      the program in the Anti-Vir.Dat file.
  788.  
  789.      TbCheck (a tiny resident integrity checker) has no purpose if there are
  790.      no Anti-Vir.Dat files on your system.
  791.  
  792.      The resident TBAV utilities need the Anti-Vir.Dat files to maintain
  793.      permission information. Without Anti-Vir.Dat files you can not get rid
  794.      of false alarms other than by disabling a complete feature.
  795.  
  796.  
  797. 3.2. How to use TbSetup
  798.  
  799.      This is the one program where the rule applies: The less you use the
  800.      program, the better your protection against viruses! Why? Keep in mind
  801.      that an Anti-Vir.Dat file stores vital information needed to detect a
  802.      virus, as well as data for subsequent recovery and for cleaning. But
  803.      consider what would happen if you were to execute TbSetup after a virus
  804.      entered the system: the information in the Anti-Vir.Dat file would be
  805.  
  806.                                        I - 8
  807.  
  808.  
  809. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  810.  
  811.  
  812.      'updated' to the state of the infected file, wiping out all traces of
  813.      data needed to reconstruct the file of the original, uninfected state.
  814.      Never use TbSetup when there is the slightest evidence of a virus in
  815.      your system. Once the Anti-Vir.Dat files have been generated as part of
  816.      the initial setup, any subsequent usage of TbSetup should be confined to
  817.      directories with new or changed program files.
  818.  
  819.      Please note that the Anti-Vir.Dat directory entries will have the
  820.      attribute 'hidden' and therefore do not show up when you use standard
  821.      directory commands. You can see the filenames only with the help of
  822.      special utilities.
  823.  
  824.      You may load TbSetup either from the DOS command line or from the TBAV
  825.      menu. For the initial installation you can use option 'AllDrives':
  826.  
  827.           TbSetup AllDrives
  828.  
  829.      You may also specify which drives and paths should be processed. To
  830.      setup disks C: and D: you should enter:
  831.  
  832.           TbSetup C:\ D:\
  833.  
  834.      When no filename has been specified but a drive and/or path instead, the
  835.      specified path will be used as top-level path. All its sub-directories
  836.      will be processed too. When a filename has been specified only the
  837.      specified path will be processed. Sub-directories will not be processed.
  838.  
  839.  
  840.      Wildcards in the filename are allowed.
  841.  
  842.      When executed from the DOS command line, the 'newonly' option can be
  843.      used to prevent existing information from being overwritten. 
  844.      To help you remember that TbSetup needs to be executed again, the next
  845.      time you execute TbScan it will display either a small 'c' after the
  846.      file to indicate a new file or a capital 'C' if a file has simply been
  847.      changed.
  848.  
  849.      Example:
  850.      You add a new file TEST.EXE to your directory C:\FOO.
  851.  
  852.           TbSetup C:\FOO\TEST.EXE
  853.  
  854.  
  855.      Example:
  856.      You install a new product in a new directory C:\NEW.
  857.  
  858.           TbSetup C:\NEW
  859.  
  860.  
  861.      When using the DOS command you may append a number of loading options.
  862.      These options are presented in section 3.3. of this chapter.
  863.  
  864.  
  865.                                        I - 9
  866.  
  867.  
  868. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  869.  
  870.  
  871.      The 'TbSetup' menu
  872.  
  873.  
  874.      +----Main menu-----+
  875.      |  Confi+------TbSetup menu------+
  876.      |  TbSet|  Start TbSetup         |
  877.      |  TbSca|  Options menu         >|
  878.      |  TbUti|  Flags menu           >|
  879.      |  TbCLe|  Data file path/name   |
  880.      |  TBAV |  View data file        |
  881.      |  Docum+------------------------+
  882.      |  Register TBAV   |
  883.      |  Quit and save   |
  884.      |  eXit (no save)  |
  885.      +------------------+
  886.  
  887.  
  888.      Data file path/name 
  889.  
  890.      TbSetup will search for 'special' files in a file named TbSetup.Dat.
  891.      After selecting this option 'datfile' you can specify another path or
  892.      filename that contains a list of 'special' files. Option format: Datfile
  893.      [=<filename>]
  894.  
  895.      Example:            
  896.           TbSetup Datfile = c:\tbav\tbsetup.dat
  897.  
  898.  
  899.      +----Main menu-----+
  900.      |  Confi+------TbSetup menu------+
  901.      |  TbSet|  Start+-------TbSetup options--------------+
  902.      |  TbSca|  Optio|  Use TBAV.INI file                 |
  903.      |  TbUti|  Flags|  Prompt for pause                  |
  904.      |  TbCLe|  Data |  Only new files                    |
  905.      |  TBAV |  View |  Remove Anti-Vir.Dat files         |
  906.      |  Docum+-------|  Test mode (don't change anything) |
  907.      |  Register TBAV|v Hide Anti-Vir.Dat files           |
  908.      |  Quit and save|  Make executables readonly         |
  909.      |  eXit (no save|  Clear readonly attributes         |
  910.      +---------------|v Sub-Directory scan                |
  911.                      +------------------------------------+
  912.  
  913.  
  914.      Use TBAV.INI file
  915.  
  916.      By enabling this option, the TbSetup configuration values, saved in the
  917.      TBAV.INI file, will also be valid when loading TbSetup from the command
  918.      line. Be careful, since options specified in the TBAV.INI file can not
  919.      be undone on the command line. See chapter I-2 ('Configuration').
  920.  
  921.  
  922.  
  923.  
  924.                                       I - 10
  925.  
  926.  
  927. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  928.  
  929.  
  930.      Prompt for pause
  931.  
  932.      When you enter option 'pause' TbSetup will stop after it has processed
  933.      the contents of one window. This gives you the possibility to examine
  934.      the results.
  935.  
  936.  
  937.      Only new files 
  938.  
  939.      If you want to add new files to the Anti-Vir.Dat database, but prevent
  940.      the information of changed files from being updated use option 'newon-
  941.      ly'. Updating the information of changed files is dangerous because if
  942.      the files are infected, the information to detect and cure the virus
  943.      will be overwritten. Option 'newonly' prevents the information from
  944.      being overwritten but it still allows information of new files to be
  945.      added to the database.
  946.  
  947.  
  948.      Remove Anti-Vir.Dat files 
  949.  
  950.      If you want to stop using the ThunderBYTE utilities you do not have to
  951.      remove all the Anti-Vir.Dat files yourself. By using this option TbSetup
  952.      will neatly remove all Anti-Vir.Dat files from your system.
  953.  
  954.  
  955.      Test mode (Don't change anything)
  956.  
  957.      If you want to see the effect of an option without the risk that somet-
  958.      hing is activated you do not want, use option 'test'. If that option is
  959.      specified the program will behave as it would normally, but it will not
  960.      change or update anything on your hard disk.
  961.  
  962.  
  963.      Hide Anti-Vir.Dat files 
  964.  
  965.      The Anti-Vir.Dat files are normally not visual in a directory listing.
  966.      If you prefer to have normal - i.e. visible - files disable this option. 
  967. =>   Note that this option only applies for new Anti-Vir.Dat files.
  968.  
  969.  
  970.      Make executables read-only 
  971.  
  972.      As TbFile guards the read-only attribute permanently it is highly
  973.      recommended to make all executable files read-only to prevent any
  974.      modifications on these files. TbSetup will do the job if you enable
  975.      option 'read-only'. Files that should not be made read-only are recogni-
  976.      zed by TbSetup.
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.                                       I - 11
  984.  
  985.  
  986. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  987.  
  988.  
  989.      Clear read-only attributes 
  990.  
  991.      This option can be used to reverse the operation of option 'read-only'.
  992.      If you enable this option all read-only attributes of all executable
  993.      files will be cleared.
  994.  
  995.  
  996.      Sub-Directory scan 
  997.  
  998.      By default TbSetup will search sub-directories for executable files,
  999.      unless a filename (wildcards allowed!) has been specified. If you
  1000.      disable this option, TbSetup will not process sub-directories.
  1001.  
  1002.  
  1003.      +----Main menu-----+
  1004.      |  Confi+-----TbSetup menu------+
  1005.      |  TbSet|  Start+-----TbSetup flags------+
  1006.      |  TbSca|  Optio|v Use normal flags      |
  1007.      |  TbUti|  Flags|  Set flags manually    |
  1008.      |  TbCLe|  Data |  Reset flags manually  |
  1009.      |  TBAV |  View |  Define flags         >|
  1010.      |  Docum+-------+------------------------+
  1011.      |  Register TBAV   |
  1012.      |  Quit and save   |
  1013.      |  eXit (no save)  |
  1014.      +------------------+
  1015.  
  1016.  
  1017.      Set flags manually 
  1018.  
  1019.      This option is for advanced users only. With this option you can manual-
  1020.      ly set permission flags in the Anti-Vir.Dat record. This option requires
  1021.      a hexadecimal bitmask for the flags to set. For information about the
  1022.      bitmask consult the TbSetup.Dat file. 
  1023.  
  1024.      Option format: Set =<flags>
  1025.  
  1026.      Example: 
  1027.           Set = 0001
  1028.  
  1029.  
  1030.      Reset flags manually 
  1031.  
  1032.      This option is for advanced users only. With this option you can manual-
  1033.      ly reset permission flags or prevent flags to be set in the Anti-Vir.Dat
  1034.      record. This option requires a hexadecimal bitmask for the flags to
  1035.      reset.  For information about the bit mask consult the TbSetup.Dat file.
  1036.      Option format: Reset =<flags>
  1037.  
  1038.      Example:
  1039.           Reset = 0001
  1040.  
  1041.  
  1042.                                       I - 12
  1043.  
  1044.  
  1045. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1046.  
  1047.  
  1048.      +----Main menu-----+
  1049.      |  Confi+-----TbSetup menu------+
  1050.      |  TbSet|  Start+-----TbSetup flags------+
  1051.      |  TbSca|  Optio|v Use n+--Define flags to be changed--+
  1052.      |  TbUti|  Flags|  Set f|  0001: Heuristic analysis    |
  1053.      |  TbCLe|  Data |  Reset|  0002: Checksum changes      |
  1054.      |  TBAV |  View |  Defin|  0004: Disk image File       |
  1055.      |  Docum+-------+-------|  0008: Readonly sensitive    |
  1056.      |  Register TBAV   |    |  0010: TSR program           |
  1057.      |  Quit and save   |    |  0020: Direct disk access    |
  1058.      |  eXit (no save)  |    |  0040: Attribute modifier    |
  1059.      +------------------+    |  8000: Interrupt rehook      |
  1060.                              +------------------------------+
  1061.  
  1062. 3.3. Command line options
  1063.  
  1064.      TbSetup allows options to be specified on the command line.  TbSetup
  1065.      recognizes option short-keys and option words. The words are easier to
  1066.      memorize, and they will be used in this manual for convenience. The
  1067.      syntax is as follows:
  1068.  
  1069.           TbSetup [<path>][<filename>]... [<options>]...
  1070.  
  1071.  
  1072.      option parameter      short  explanation
  1073.      ----------------------------------------------------------------
  1074.      help                  he   help
  1075.      pause                 pa   enable 'Pause' prompt
  1076.      mono                  mo   force monochrome
  1077.      nosub                 ns   skip sub-directories
  1078.      newonly               no   do not update changed records
  1079.      alldrives             ad   process all local fixed drives
  1080.      allnet                an   process all network drives
  1081.      remove                rm   remove Anti-Vir.Dat files
  1082.      test                  te   do not create / change anything
  1083.      nohidden              nh   do not make Anti-Vir.Dat files hidden 
  1084.      readonly              ro   set read-only attribute on executables
  1085.      nordonly              nr   remove / do not set read-only attribute
  1086.      set     =<flags>      se   set flags
  1087.      reset   =<flags>      re   reset flags / do not set flags
  1088.      datfile [=<filename>] df   data file to be used
  1089.  
  1090.  
  1091.      help (he)
  1092.      If you specify this option, TbSetup displays the contents of the TBSE-
  1093.      TUP.HLP file (if available) in the home directory of TbSetup.  If you
  1094.      specify the '?' option you will get the summarized help info as listed
  1095.      above.
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.                                       I - 13
  1102.  
  1103.  
  1104. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1105.  
  1106.  
  1107.      pause (pa)
  1108.      When you specify 'pause' TbSetup will stop after it has processed the
  1109.      contents of one window. This gives you the possibility to examine the
  1110.      results.
  1111.  
  1112.      mono (mo)
  1113.      This option forces TbSetup to refrain from using colors in the screen
  1114.      output. This might enhance the screen output on some LCD screens or
  1115.      color-emulating monochrome systems.
  1116.  
  1117.      nosub (ns)
  1118.      By default TbSetup will search sub-directories for executable files,
  1119.      unless a filename (wildcards allowed!) has been specified. If you
  1120.      specify this option, TbSetup will not process sub-directories.
  1121.  
  1122.      newonly (no)
  1123.      If you want to add new files to the Anti-Vir.Dat database, but prevent
  1124.      the information of changed files from being updated, use option 'newon-
  1125.      ly'. Updating the information of changed files is dangerous because if
  1126.      the files are infected, the information to detect and cure the virus
  1127.      will be overwritten. Option 'newonly' prevents the information from
  1128.      being overwritten but it still allows information of new files to be
  1129.      added to the database.
  1130.  
  1131.      alldrives (ad)
  1132.      If you want TbSetup to process all local non-removable drives you can
  1133.      specify this option. Except for the initial execution, it isn't a good
  1134.      idea to use this option.
  1135.  
  1136.      allnet (an)
  1137.      If you want TbSetup to process all network drives you can specify this
  1138.      option. Except for the initial execution, it isn't a good idea to use
  1139.      this option.
  1140.  
  1141.      remove (rm)
  1142.      If you want to stop using the ThunderBYTE utilities you do not have to
  1143.      remove all the Anti-Vir.Dat files yourself. By using this option TbSetup
  1144.      will neatly remove all Anti-Vir.Dat files from your system.
  1145.  
  1146.      test (te)
  1147.      If you want to see the effect of an option without the risk that somet-
  1148.      hing is activated you do not want, use option 'test'. If that option is
  1149.      specified the program will behave as it would normally, but it will not
  1150.      change or update anything on your
  1151.      hard disk.
  1152.  
  1153.      nohidden (nh)
  1154.      The Anti-Vir.Dat files are normally not visual in a directory listing.
  1155.      If you prefer to have normal - i.e. visible - files specify this option.
  1156. =>   Note that this option only applies for new Anti-Vir.Dat files.
  1157.  
  1158.      readonly (ro)
  1159.  
  1160.                                       I - 14
  1161.  
  1162.  
  1163. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1164.  
  1165.  
  1166.      As TbFile guards the read-only attribute permanently it is highly
  1167.      recommended to make all executable files read-only to prevent any
  1168.      modifications on these files. TbSetup will do the job if you enable
  1169.      option 'read-only'. Files that should not be made read-only are recogni-
  1170.      zed by TbSetup.
  1171.  
  1172.      nordonly (nr)
  1173.      This option can be used to reverse the operation of option 'read-only'.
  1174.      If you enable this option all read-only attributes of all executable
  1175.      files will be cleared.
  1176.  
  1177.      set (se)
  1178.      This option is for advanced users only. With this option you can manual-
  1179.      ly set permission flags in the Anti-Vir.Dat record. This option requires
  1180.      a hexadecimal bitmask for the flags to set. For information about the
  1181.      bitmask consult the TbSetup.Dat file. 
  1182.      Option format: Set =<flags>
  1183.  
  1184.      Example:
  1185.           Set = 0001
  1186.  
  1187.      reset (re)
  1188.      This option is for advanced users only. With this option you can manual-
  1189.      ly reset permission flags or prevent flags to be set in the Anti-Vir.Dat
  1190.      record. This option requires a hexadecimal bitmask for the flags to
  1191.      reset.  For information about the bit mask consult the TbSetup.Dat file.
  1192.      Option format: Reset =<flags>
  1193.  
  1194.      Example:
  1195.           Reset = 0001
  1196.  
  1197.      datfile (df)
  1198.      After the datfile option you can specify the name of the data file to be
  1199.      used.
  1200.  
  1201.  
  1202. 3.4. While executing
  1203.  
  1204.      TbSetup divides the screen into three windows: an information window
  1205.      displaying data file comments across the top of the screen, a scanning
  1206.      window on the left and a status window on the right.
  1207.  
  1208.      The lower left window lists the names of the files being processed,
  1209.      along with file specific information:
  1210.  
  1211.  
  1212.      TEST.EXE 01234  12AB23CD   Added    * 0001
  1213.      |        |      |          |        | |
  1214.      |        |      |          |        | |
  1215.      |        |      |          |        | 'flags' set for this file
  1216.      |        |      |          |        indicates 'special' file
  1217.      |        |      |          action performed
  1218.  
  1219.                                       I - 15
  1220.  
  1221.  
  1222. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1223.  
  1224.  
  1225.      |        |      32-bit CRC (checksum)
  1226.      |        file size in hexadecimal number
  1227.      name of file in process
  1228.  
  1229.  
  1230.      Do not be concerned if the information flies too fast for you to read,
  1231.      or if it puzzles you. You will probably never need these details anyway.
  1232.  
  1233.      The scanning window has an 'action performed' field indicating whether
  1234.      an entry in the Anti-Vir.Dat was added, changed or updated:
  1235.  
  1236.      Added
  1237.      There was no previous entry for this file in the Anti-Vir.Dat record. A
  1238.      new entry has been added.
  1239.  
  1240.      Changed
  1241.      There was an existing entry, but the file has been changed. The Anti-
  1242.      Vir.Dat information has been updated.
  1243.  
  1244.      Updated
  1245.      There was an Anti-Vir.Dat record and the file was found to be unchanged.
  1246.      TbSetup did, however, change some of the program's permission flags, on
  1247.      account of an entry in the TbSetup.Dat file, or in compliance with a
  1248.      'Set' or 'Reset' option. 
  1249.  
  1250.      The process may be aborted by pressing Ctrl-Break.
  1251.  
  1252.  
  1253.      Purpose of the TbSetup.Dat file
  1254.  
  1255.      Although the ThunderBYTE utilities perform well on almost every file
  1256.      without extra help, there are some files that need particular attention.
  1257.      TbSetup uses information collected in a special data file, TbSetup.Dat,
  1258.      to flag such files in the Anti-Vir.Dat file. The other ThunderBYTE
  1259.      utilities then use that information to determine how such a 'special'
  1260.      file should be treated:
  1261.  
  1262.  
  1263.      Examples of such files:
  1264.  
  1265.      Some programs maintain configuration information inside the executable
  1266.      file (EXE, COM) itself. Whenever you change the configuration of these
  1267.      programs, the executable file will change as well, along with its
  1268.      checksum. The new checksum will not match the one stored in the TbSe-
  1269.      tup.Dat file anymore. Since some ThunderBYTE utilities use this checksum
  1270.      information to verify integrity or cleanup results, they need to 'know'
  1271.      when a file's checksum is not a fixed item and should be allowed to
  1272.      change.
  1273.  
  1274.      TbScan can use generic detection methods such as 'heuristic' analysis to
  1275.      detect unknown viruses. Since heuristic analysis implies inevitable
  1276.  
  1277.  
  1278.                                       I - 16
  1279.  
  1280.  
  1281. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1282.  
  1283.  
  1284.      false alarms when a file looks like a virus, TbScan may have to decide
  1285.      not to do a heuristic analysis on such a program.
  1286.  
  1287.      Some of the ThunderBYTE utilities guard the read-only attribute and make
  1288.      sure that it can be removed only with the user's explicitpermission. A
  1289.      few programs, however, refuse to run properly with the read-only attri-
  1290.      bute set.
  1291.  
  1292.      TbScan's default scanning method performs perfectly well with just about
  1293.      any file, but there are some that need special analysis. Such a file is
  1294.      the Novell NET$DOS.SYS file, not a device driver - as the filename
  1295.      extension suggests - but a disk image of the bootable disk. It should be
  1296.      scanned completely and for all signatures, including COM and BOOT.
  1297.  
  1298.      The resident monitoring utilities of the TBAV package detect all sorts
  1299.      of virus-specific behaviour. Some programs, even though they may act
  1300.      like a virus, are still perfectly normal and should be permitted to be
  1301.      executed without TBAV interference.
  1302.  
  1303.      You need not be concerned to find that a few files will be excluded from
  1304.      heuristic analysis. Those files will still be scanned the conventional
  1305.      way for signatures and all the rest. Furthermore, no heuristic exclusion
  1306.      will be granted unless a file matches exactly with the entry in the
  1307.      TbSetup.Dat file - including its name, size and the 32-bit CRC checksum.
  1308.      This eliminates security holes effectively: if a listed file is already
  1309.      infected, its checksum won't match the 32-bit CRC in the TbSetup.Dat
  1310.      file and the exclusion will not apply. By the same token, if a program
  1311.      is infected at a later date, the result would be a change in at least
  1312.      one of its characteristics; the record in the Anti-Vir.Dat file will not
  1313.      match any longer and the file will be subject to full heuristic analysis
  1314.      like any other.
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.                                       I - 17
  1338.  
  1339.  
  1340. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1341.  
  1342.  
  1343. 4. TbDriver
  1344.  
  1345. 4.1. Purpose of TbDriver
  1346.  
  1347.      TbDriver does not provide much protection against viruses by itself, but
  1348.      must be loaded in advance to enable the memory resident ThunderBYTE
  1349.      Anti-Virus utilities, such as TbScanX, TbCheck, TbMem, TbFile and
  1350.      TbDisk, to perform properly. It is the source for some of the routines
  1351.      these utilities have in common, including support to generate the pop-up
  1352.      window routines, driving the translation unit which enables the possibi-
  1353.      lity of displaying messages in your native language, and support for
  1354.      networks.
  1355.  
  1356.      In addition, TbDriver also contains basic protection against 'Stealth'
  1357.      viruses and against ANSI bombs.
  1358.  
  1359.  
  1360.      How to use TbDriver
  1361.  
  1362.      Loading TbDriver must be loaded before (one of) the other memory TbDri-
  1363.      ver resident TBAV utilities. For loading instructions, please consult
  1364.      the following pages.
  1365.  
  1366. =>   If you want protection against ANSI-bombs, you should load TbDriver
  1367.      AFTER the ANSI driver.
  1368.  
  1369.      In normal situations it is not necessary to use the 'net' option of
  1370.      TbDriver.
  1371.  
  1372.      If you install TbDriver on a machine that is booted from a boot ROM,
  1373.      specify the message file with the drive and path where it can be found
  1374.      AFTER the machine has booted. The default message file will not be
  1375.      accessible anymore after the machine has booted.
  1376.  
  1377.  
  1378. 4.2. Command line options
  1379.  
  1380.      Tbdriver allows loading options to be specified on the command line. A
  1381.      filename specification will be treated as a language file specification.
  1382.      The upper three options are always available, the other options are only
  1383.      available if TbDriver is not already memory resident.
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.                                       I - 18
  1397.  
  1398.  
  1399. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1400.  
  1401.  
  1402.      option  parameter    short explanation
  1403.      -------------------- ----- ---------------------------
  1404.  
  1405.      help                 ?     display this helpscreen
  1406.      net                  n     force LAN support
  1407.      remove               r     remove TbDisk from memory
  1408.      mode    =<m|c>       m     override video mode
  1409.  
  1410.      freeze               j     freeze machine after an alert
  1411.      lcd                  l     enhance output on LCD screens
  1412.      noavok  =<drives>    o     assume permission when AV record is missing
  1413.      quiet                q     do not display activity
  1414.      secure               s     do not allow permission updates
  1415.      notunnel             t     do not detect tunneling
  1416.      nofilter             f     do not filter dangerous ANSI codes
  1417.      nostack              ns    do not install a stack
  1418.  
  1419.  
  1420.      help (?)
  1421.      If you specify this option TbDriver will show you the valid command line
  1422.      options as listed above.
  1423.  
  1424.      net (n)
  1425.      TbDriver cooperates well with most networks; in normal situations option
  1426.      'net' will not be needed at all. It should be used only if all of the
  1427.      following conditions are true: A connection to a Novell network is made,
  1428.      and TbDriver.Exe is started before the logon command was used, and there
  1429.      is no valid Anti-Vir.Dat record in the directory where the NET?.COM
  1430.      program resides, or after the NET?.COM file has been renamed.
  1431.  
  1432.      remove (r)
  1433.      This option disables TbDriver and will try to remove the resident part
  1434.      of its code from memory in an attempt to restore this memory space back
  1435.      to the system. Unfortunately, this can work only if TbDriver was loaded
  1436.      last. An attempt to remove a TSR after another TSR has been started will
  1437.      simply leave a useless gap in memory and could disrupt the interrupt
  1438.      chain. TbDriver checks whether it is safe to remove its resident code;
  1439.      if not, it will simply disable itself. 
  1440.  
  1441.      mode (m)
  1442.      On dual video systems TbDriver will use the currently active screen. It
  1443.      may be forced to use the alternate screen with option 'mode=m' for
  1444.      monochrome, or 'mode=c' for color systems.
  1445.  
  1446.      freeze (j)
  1447.      This option causes TbDriver to freeze the machine after a TbDriver
  1448.      message has been displayed. This prevents users to answer TbDriver
  1449.      messages without permission from the supervisor.
  1450.  
  1451.      lcd (l)
  1452.      This option improves the readability of the TbDriver messages on LCD
  1453.      screens.
  1454.  
  1455.                                       I - 19
  1456.  
  1457.  
  1458. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1459.  
  1460.  
  1461.  
  1462.      noavok (o)
  1463.      This option is not recommended for normal usage. You may need it in
  1464.      order to grant permission automatically for programs without an Anti-
  1465.      Vir.Dat record. Option 'noavok' requires a parameter specifying the
  1466.      drives to which the default permission applies. If, for example, you do
  1467.      not want a message from TbMem when a TSR without Anti-Vir.Dat record is
  1468.      executed from drive E: and F:, you could specify 'noavok=ef' on the
  1469.      TbDriver command line. If you do want to exclude network drives you
  1470.      should specify an asterisk (*). So, if you want to grant permission for
  1471.      all files without Anti-Vir.Dat records on drive A:, your ramdisk F: and
  1472.      your remote network drives, specify 'noavok=af*'.
  1473.  
  1474.      quiet (q)
  1475.      Some resident TBAV utilities display an activity status. TbScanX, for
  1476.      instance, displays a rectangle with "*Scanning*" in the upper left
  1477.      corner of your screen while scanning a file. You can disable this with
  1478.      the 'quiet' option when TbDriver is loaded.
  1479.  
  1480.      secure (s)
  1481.      Some ThunderBYTE utilities are able to store permission flags in the
  1482.      Anti-Vir.Dat files. If you don't want these flags to be changed, specify
  1483.      this option. It has no effect on flags that are already set, so the
  1484.      option 'secure' may be used after installing new programs or packages.
  1485.  
  1486.      notunnel (t)
  1487.      TbDriver normally detects tunneling attempts on the part of viruses.
  1488.      'Tunneling' is a technique viruses apply to determine the location of
  1489.      the DOS system code in memory, and to use that address to communicate
  1490.      with DOS directly. This will inactivate all TSR programs, including
  1491.      resident anti-virus software. TbDriver is able to detect 'tunneling'
  1492.      attempts, and informs you about this. Some other anti-virus products
  1493.      also rely on tunneling techniques to bypass resident viruses, causing
  1494.      false alarms. If you are currently executing other anti-viral products,
  1495.      option 'notunnel' will disable tunneling detection.
  1496.  
  1497.      nofilter (f)
  1498.      The original ANSI driver has a feature to assign text strings to keys.
  1499.      Years ago, people used this feature to assign - for instance - the F10
  1500.      key to the text 'DIR /W'. This reprogramming can simply be done with
  1501.      embedded ANSI codes in text files. Typing such a file with the DOS
  1502.      'type' command is enough to reprogram the keys. Today, almost nobody
  1503.      uses this feature anymore, but it is still there. Some ill-minded people
  1504.      however use this feature to make a text file which reprograms - for
  1505.      instance - the Enter key to execute the text 'Del *.*', or worse...
  1506.      Such a text file is called an ANSI-bomb. TbDriver protects you against
  1507.      ANSI-bombs by filtering out the keyboard reprogramming codes. All other
  1508.      ANSI codes will pass without interference. If you don't want this
  1509.      protection, or if you want to use this obsolete ANSI feature you can
  1510.      specify option 'nofilter'.
  1511.  
  1512.  
  1513.  
  1514.                                       I - 20
  1515.  
  1516.  
  1517. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1518.  
  1519.  
  1520.      nostack (ns)
  1521.      By default, TbDriver maintains a stack for the resident TBAV utilities.
  1522.      For most systems however this isn't necessary. If you specify option
  1523.      'nostack' TbDriver will use the application stack, saving a few hundred
  1524.      bytes of memory. However, if the system hangs or becomes unstable, you
  1525.      should discontinue use of this option.
  1526.  
  1527.  
  1528. 4.3. Language support
  1529.  
  1530.      The optional filename specification is used to determine where the
  1531.      language file can be found. TbDriver retrieves pop-up window messages
  1532.      from a TBDRIVER.LNG file, which it expects to find in its own home
  1533.      directory. The default English language file is TBDRIVER.LNG, which may
  1534.      be replaced by a file in your local language. You can order separate
  1535.      language support packages at your local ThunderBYTE dealer, or download
  1536.      the language file from a ThunderBYTE support BBS. Please refer to page
  1537.      I-38 for further details. To load a localized language file, either
  1538.      rename it to the default original, or specify the full path and filename
  1539.      following the command. You may also switch to another language by
  1540.      calling TbDriver again with a different message file. This will not take
  1541.      up any extra memory.
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.                                       I - 21
  1574.  
  1575.  
  1576. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1577.  
  1578.  
  1579. 5. System maintenance
  1580.  
  1581.      All systems need maintenance and so do the TBAV utilities. As new
  1582.      viruses emerge, TbScan's signature file must be updated to avert new
  1583.      dangers. You may either get the latest signature file from your local
  1584.      ThunderBYTE dealer or download the file from one of our support Bulletin
  1585.      Board Systems.
  1586.  
  1587.      Whenever you add, update or replace programs on your system, be sure to
  1588.      use TbSetup to generate or update their fingerprints in the Anti-Vir.Dat
  1589.      files. Sometimes you will want to create a new recovery diskette. When
  1590.      you install a new version of DOS, the bootsector will be different.
  1591.      Changing the configuration of your hard disks may affect the partition
  1592.      tables and the CMOS setup. You should prepare a new recovery diskette
  1593.      after all system modifications.
  1594.  
  1595.  
  1596.      Updates
  1597.  
  1598.      The ThunderBYTE Anti-Virus utilities are updated at frequent intervals.
  1599.      Subscription to the ThunderBYTE update service (at your local dealer)
  1600.      guarantees delivery of each new update. You may download new revisions
  1601.      any time from any ThunderBYTE support BBS. Or check with a local bulle-
  1602.      tin board regularly, as many of them offer updated versions of our
  1603.      software.
  1604.  
  1605.      The standard complete release is issued in an archive named:
  1606.      TBAVxxx.ZIP, where 'xxx' stands for the three-digit version number. The
  1607.      archive extension may vary on local bulletin boards using a different
  1608.      archive method.
  1609.  
  1610.      TBAV-for-Windows is distributed in an archive named TBAVWxxx.Zip. Note
  1611.      that you need to download the DOS version of TBAV in addition to this
  1612.      archive.
  1613.  
  1614.      The resident ThunderBYTE Anti-Virus utilities are also available in
  1615.      processor optimized formats. These processor optimized versions, named
  1616.      TBAVXxxx.ZIP, are for registered users only. You can purchase these
  1617.      versions via your local ThunderBYTE dealer.
  1618.  
  1619.  
  1620.      Language support
  1621.  
  1622.      The ThunderBYTE Anti-Virus utilities currently support several langua-
  1623.      ges, by means of separate language files. Check your local ThunderBYTE
  1624.      dealer for the availability of the TBAV support file in your language.
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.                                       I - 22
  1633.  
  1634.  
  1635. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1636.  
  1637.  
  1638. 6. Network maintenance
  1639.  
  1640.      The signature file TbScan.Sig should be replaced frequently. This can be
  1641.      a lot of work if you want to update all work stations on a network
  1642.      manually. Fortunately, there are several possibilities to do this job
  1643.      automatically.
  1644.  
  1645.  
  1646. 6.1. Using DOS REPLACE
  1647.  
  1648.      Maintain a directory \TBAV_UPD\ on a public server drive. Any new
  1649.      version of the TBAV utilities or any new signature file TbScan.Sig
  1650.      should be placed it in this directory.
  1651.  
  1652.      The work stations should execute a batch file automatically after users
  1653.      log in on the network. This batch file should contain the following
  1654.      lines:
  1655.  
  1656.           rem Update the anti-virus product if a new one is available.
  1657.           replace x:\tbav_upd\*.* c:\tbav /u /r
  1658.  
  1659.      'Replace' is a standard DOS utility. It copies the files specified by
  1660.      the first parameter ONLY if they are newer than the files specified in
  1661.      the second parameter.
  1662.  
  1663.      Make sure the 'replace' command is in the current path, and that the
  1664.      specified paths are valid for your configuration. The 'x', used in the
  1665.      above example, denotes the drive specification.
  1666.  
  1667.      Thus, you only have to update one drive with the new signature file or
  1668.      anti-virus software, and all workstations will update themselves as soon
  1669.      as they log in! You can also add the /S option if you want REPLACE to
  1670.      scan all directories on the workstations' drives for matching files.
  1671.      Please consult the DOS manual for more details.
  1672.  
  1673. =>   Note: Do not forget to execute TbSetup on the new utilities in the
  1674.      x:\tbav_upd directory, thus ensuring that the REPLACE command also
  1675.      copies the new Anti-Vir.Dat file.
  1676.  
  1677.  
  1678. 6.2. Using PkUnZip
  1679.  
  1680.      Maintain a directory \TBAV_UPD\ on a public server drive. Any new
  1681.      version of the TBAV distribution archive should be placed in this
  1682.      directory.
  1683.  
  1684.      The work stations should execute a batch file automatically after users
  1685.      log in on the network. This batch file should contain the following
  1686.      lines:
  1687.  
  1688.           rem Update the anti-virus product if a new one is available.
  1689.           PkUnZip -n -o x:\tbav_upd\TBAV???.ZIP c:\tbav
  1690.  
  1691.                                       I - 23
  1692.  
  1693.  
  1694. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                 SECTION I
  1695.  
  1696.  
  1697. =>   Make sure the file PkUnZip.Exe is in the current path, and that the
  1698.      paths specified are valid for your configuration.
  1699.  
  1700.      Following this procedure, the 'PkUnZip' command will only come into
  1701.      action when you just updated the ZIP files in the x:\tbav_upd directory.
  1702.      Now you only have to update one drive with the new anti-virus software,
  1703.      and all workstations will update themselves as soon as they log in!
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.                                       I - 24
  1751.  
  1752.  
  1753. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  1754.  
  1755.  
  1756. SECTION II. ANTI-VIRUS STRATEGY
  1757.  
  1758. 1. Protection against viruses
  1759.  
  1760. 1.1. Introduction
  1761.  
  1762.      Maintaining a reliable safety system implies that you will be active in
  1763.      taking measures to protect your system from virus infection, since some
  1764.      viruses can hide themselves perfectly once resident in memory. At least
  1765.      once every a week you should boot from a clean and write-protected
  1766.      diskette and execute TbScan.
  1767.  
  1768.      The tightness of your safety system very much depends on the amount of
  1769.      time you want to invest to let the safety measures take place and the
  1770.      vitality of the appropriate computer system. For use on a stand alone
  1771.      computer containing low risk data, in an environment with little exchan-
  1772.      ge of computer software, a daily scan will appear to be sufficient.
  1773.  
  1774.      For company use however, in a network environment where diskettes are
  1775.      exchanged frequently, where disks contain highly vulnerable information,
  1776.      where a network going 'down' means the loss of an extensive amount of
  1777.      money, protection must be as tight as the organisation can practically
  1778.      handle.
  1779.  
  1780.      Considering the above, a simple instruction on how to use the -highly
  1781.      flexible - TBAV utilities cannot be given. It all depends on your own
  1782.      demands and possibilities.
  1783.  
  1784.      Therefore, you are advised to study this manual thoroughly so you will
  1785.      be able to determine your own safety measures. To prevent viruses from
  1786.      doing any harm you should at least under-take the activities as presen-
  1787.      ted below. 
  1788.  
  1789.  
  1790. 1.2. Basic precautions
  1791.  
  1792.      1. Install TBAV on your hard disk
  1793.  
  1794.      You may customize the installation to suit your own needs. Make sure you
  1795.      use TbSetup to maintain recovery information of all executable files of
  1796.      your system! Please refer to the installation section (I) of this
  1797.      manual. 
  1798.  
  1799.      In the following examples it is assumed that all utilities are copied in
  1800.      the (default) directory named TBAV. For all example setups it is requi-
  1801.      red that TbSetup has been executed. If your system has more hard disks
  1802.      or disk partitions you should repeat the TbSetup invocation for every
  1803.      drive or partition.
  1804.  
  1805.      The example setups assume you have created a recovery diskette.
  1806.  
  1807.  
  1808.  
  1809.                                       II - 1
  1810.  
  1811.  
  1812. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  1813.  
  1814.  
  1815.      The example setups outlined below are just intended to give you some
  1816.      ideas about the use of the TBAV utilities, and these examples are not
  1817.      intended as a full featured protection setup!
  1818.  
  1819.  
  1820.      2. Prepare a recovery diskette
  1821.  
  1822.      You will absolutely need a clean recovery diskette in order to be able
  1823.      to get rid of a virus at all later on. Take a few minutes to prepare one
  1824.      now well ahead of a possible future contamination when it would be too
  1825.      late. 
  1826.  
  1827.      Take a new, empty diskette, put it in drive A:, go to your DOS directory
  1828.      and execute the following commands:
  1829.  
  1830.           Format A: /S 
  1831.           Copy SYS.COM A:
  1832.  
  1833.      Now return to the TBAV directory, eg.:
  1834.  
  1835.           CD \TBAV
  1836.  
  1837.      Execute the MakeResc batch file:
  1838.  
  1839.           makeresc A:
  1840.  
  1841.      The MakeResc batch file will create a reliable recovery diskette by
  1842.      creating or copying the following files.
  1843.  
  1844.      -    A backup of the bootsector, partition sector and CMOS configu-
  1845.           ration.
  1846.  
  1847.      -    A Config.Sys file, containing:
  1848.  
  1849.           Files=20
  1850.           Buffers=20
  1851.           Device=TbDriver.Exe
  1852.           Device=TbCheck.Exe FullCRC
  1853.  
  1854.      -    An Autoexec.Bat file, containing:
  1855.  
  1856.           @echo off
  1857.           echo off
  1858.           PATH=A:\
  1859.           TBAV
  1860.           Cls
  1861.           Echo Warning!!!
  1862.           Echo If you suspect a virus, do NOT execute anything
  1863.           Echo from the hard disk!
  1864.  
  1865.  
  1866.  
  1867.  
  1868.                                       II - 2
  1869.  
  1870.  
  1871. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  1872.  
  1873.  
  1874.      -    The following files:
  1875.  
  1876.           TBAV.EXE
  1877.           TBAV.LNG
  1878.           TBSCAN.EXE
  1879.           TBSCAN.LNG
  1880.           TBSCAN.SIG
  1881.           TBDRIVER.EXE
  1882.           TBDRIVER.LNG
  1883.           TBCHECK.EXE
  1884.           TBCLEAN.EX
  1885.           TBUTIL.EXE
  1886.           TBUTIL.LNG
  1887.  
  1888.      Copy to the diskette any other utilities that could come in handy in an
  1889.      emergency situation, including a simple editor to edit Config.Sys and
  1890.      AutoExec.Bat files. If your hard disk needs special device drivers to
  1891.      unlock added features, such as DoubleSpace or Stacker, copy the approp-
  1892.      riate drivers to the recovery diskette and install them in the Con-
  1893.      fig.Sys file on drive A:, taking care to avoid statements that will
  1894.      access the hard disk. Be sure to check the instructions in the device
  1895.      driver's manual for the correct procedures.
  1896.  
  1897.      Make the disk write protected. Label the diskette 'Recovery' together
  1898.      with a short of the PC the diskette belongs to. Store the diskette in a
  1899.      safe place. Use it only in case of an emergency, so make a copy if you
  1900.      need a similar diskette for general purposes.
  1901.  
  1902.  
  1903.      3. Keep shady software out
  1904.  
  1905.      Many companies do not allow employees to install or execute unauthorized
  1906.      software. Or perhaps you wish to keep family members from invading your
  1907.      computer with haphazard games and sundry software. TBAV provides a
  1908.      watchdog function that can help to enforce this. First you will need to
  1909.      add the following lines to the Config.Sys file:
  1910.  
  1911.           Device=C:\TBAV\TbDriver.Exe
  1912.           Device=C:\TBAV\TbCheck.Exe secure
  1913.  
  1914.      If you have installed the TBAV Utilities using the TBAV installation
  1915.      program, you can - instead of editing the CONFIG.SYS file - adjust the
  1916.      TBSTART.BAT file, appending the 'secure' option to the TbCheck command:
  1917.  
  1918.           C:\TBAV\TbDriver
  1919.           C:\TBAV\TbCheck secure
  1920.  
  1921.      Execute TbSetup on the system:
  1922.  
  1923.           TbSetup C:\
  1924.  
  1925.  
  1926.  
  1927.                                       II - 3
  1928.  
  1929.  
  1930. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  1931.  
  1932.  
  1933.      Reboot the system by pressing <Ctrl>-<Alt>-<Del>. From now on, TbCheck
  1934.      will put an effective clamp on any user who tries to execute software
  1935.      which has not been duly authorized first by TbSetup. Whenever someone is
  1936.      trying to execute an unknown program, TBAV will display the following
  1937.      message:
  1938.  
  1939.  
  1940.      +---------- TBAV interception ---------+
  1941.      |                WARNING!              |
  1942.      | The requested program (GAME.EXE)     |
  1943.      | is not authorized and can not be     |
  1944.      | executed.                            |
  1945.      | Execution cancelled! Press any key...|
  1946.      +--------------------------------------+
  1947.  
  1948.  
  1949.      4. Restrict user access
  1950.  
  1951.      Most of the TBAV utilities are interactive. They need to communicate
  1952.      with a knowledgable user in order to establish appropriate action in
  1953.      ambiguous situations. Many companies, however, insist that the system
  1954.      operator be the sole authority allowed to communicate with TBAV and so
  1955.      avoid wrong decisions on the part of possibly inept employees. That is
  1956.      why most of TBAV utilities support the option 'secure'. When this option
  1957.      is specified, all user interaction with any of the TBAV utilities is
  1958.      suspended. In other words, users will never be queried for permission to
  1959.      allow questionable operations, avoiding erroneous decisions which may
  1960.      well result in irreparable havoc. This option will also prevent the user
  1961.      from disabling or unloading the TBAV utilities.
  1962.  
  1963.  
  1964.      5. Never use 'strange' diskettes to boot
  1965.  
  1966.      Only boot from your hard disk or from your original DOS diskette. NEVER
  1967.      use someone else's disk to boot from. Should you have a hard disk, make
  1968.      certain that you have opened the door to your floppy drive before
  1969.      resetting or booting your PC.
  1970.  
  1971.  
  1972.      6. Use ChkDsk frequently
  1973.  
  1974.      Use the DOS program ChkDsk frequently (without the /F switch). ChkDsk is
  1975.      able to detect some viruses, because such viruses change the disk
  1976.      structure in an incorrect manner, causing disk errors in the process.
  1977.      Look out for changes in the behaviour of your software or your PC. Any
  1978.      change in their behaviour is suspect, unless you know its cause. Some
  1979.      highly suspicious symptoms are:
  1980.  
  1981.      -    The amount of available memory space has decreased.
  1982.  
  1983.      -    Programs need more time to execute.
  1984.  
  1985.  
  1986.                                       II - 4
  1987.  
  1988.  
  1989. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  1990.  
  1991.  
  1992.      -    Programs do not operate as they used to, or cause the system to
  1993.           crash or reboot after some time.
  1994.  
  1995.      -    Data disappears or gets damaged.
  1996.  
  1997.      -    The size of one or more programs has increased.
  1998.  
  1999.      -    The screen behaves strangely, or unusual information is displayed.
  2000.  
  2001.      -    ChkDsk detects many errors.
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.                                       II - 5
  2046.  
  2047.  
  2048. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  2049.  
  2050.  
  2051. 2. What to do when a virus strikes
  2052.  
  2053.  
  2054. 2.1. Detection of viruses
  2055.  
  2056.      The first thing to do when you become aware that your system may have
  2057.      been infected is to back up all important files immediately. Use fresh
  2058.      backup media and do not overwrite a previous back up set. You may need
  2059.      the previous set to replace lost or contaminated files. Label the new
  2060.      backup as unreliable, as some of the files may be infected.
  2061.  
  2062.      As soon as you become aware of a virus infection it is imperative that
  2063.      you boot only from a reliable, write protected recovery system diskette.
  2064.  
  2065.  
  2066.      Know the symptoms 
  2067.  
  2068.      Next, execute TbScan for an indication about what is wrong, or boot from
  2069.      a recovery diskette and compare its system files with those on the hard
  2070.      disk to check for changes. During this test you should take care to stay
  2071.      logged on to your system diskette. 
  2072.  
  2073.      TbScan will report the virus name if the virus is known, or give a
  2074.      summary of file changes if the virus cannot be identified:
  2075.  
  2076.           TbScan alldrives logname=lpt1 log
  2077.  
  2078.      Also execute TbUtil to check the bootsector, partition code and the CMOS
  2079.      configuration.
  2080.  
  2081.           TbUtil compare
  2082.  
  2083.      Do not execute any program on your hard disk to prevent a virus from
  2084.      invading the system's memory and possibly masking the test results.
  2085.      TbCheck will warn you if you accidentially try to execute an infected or
  2086.      unauthorized program on your hard disk.
  2087.  
  2088.      Please bear in mind that it is in the nature of a file virus to infect
  2089.      as many programs as possible over a short period. You'll hardly find
  2090.      only a few infected programs on a hard disk that is in constant use. A
  2091.      TbScan virus alert flagging a mere one percent of the files on a hard-
  2092.      worked system is probably just a false alarm that has nothing to do with
  2093.      a real virus.
  2094.  
  2095.      If the file compare test indicates that all of them are still the same,
  2096.      you know at least that you are not dealing with a file virus. 
  2097.      Avoid using the same copy of the TbScan program on another system after
  2098.      discovering a virus. TbScan performs a sanity check when it fires up.
  2099.      Unfortunately there is no way to make software 100% virus-resistant. A
  2100.      sanity check does not work if a 'stealth' type of virus is involved. A
  2101.      stealth virus can hide itself completely when a self-check is being
  2102.      performed. Do note that we are not dealing with a TbScan bug here. The
  2103.  
  2104.                                       II - 6
  2105.  
  2106.  
  2107. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  2108.  
  2109.  
  2110.      failure to detect stealth viruses is common to all software performing a
  2111.      sanity check. Therefore, we recommend to keep a clean version of TbScan
  2112.      on a write-protected diskette. Use this diskette to check other machines
  2113.      once you have found a virus in your own system.
  2114.  
  2115.  
  2116.      Identify the characteristics
  2117.  
  2118.      Viruses come in many different guises and have their own peculiarities.
  2119.      It is extremely important to know at the earliest possible stage which
  2120.      particular kind of virus you are dealing with. That will give you at
  2121.      least some indication of the nature and the amount of the damage it may
  2122.      have caused already. Some viruses infect only executable files that can
  2123.      easily be reinstalled or replaced from a clean source. Others swap some
  2124.      random bytes anywhere on the hard disk, which could affect data files as
  2125.      well, although the results may not be noticeable for some time. Then
  2126.      there are those that damage the hard disk partition table or file
  2127.      allocation table, while some of the even nastier ones, the multipartite
  2128.      viruses, operate in more than one area.
  2129.  
  2130.      Whatever you do, don't panic! An inexperienced user, reacting in confu-
  2131.      sion, can often create more havoc than the virus itself, such as eradi-
  2132.      cating important data in no time. While an instant reformat may get rid
  2133.      of the virus, it will definitely destroy all your recent work as well.
  2134.  
  2135.      Once isolated the virus, either contact your support BBS, consult
  2136.      literature on virus problems, or get in touch with a virus expert. 
  2137.  
  2138.  
  2139. 2.2. Recovering from viruses
  2140.  
  2141.      While recovering from a virus infection it is particularly important to
  2142.      boot only from a clean write-protected system diskette. That is the only
  2143.      way to keep a virus out of the system's memory. Never execute a program
  2144.      from the hard disk.
  2145.  
  2146.      Restore the master boot sector and the DOS system files on the hard
  2147.      disk, using the SYS command on the system diskette. If the bootsector or
  2148.      partition code contains a virus, you may also use TbUtil to get rid of
  2149.      it by restoring clean sectors:
  2150.  
  2151.           TbUtil restore
  2152.  
  2153.      Many modern hard disks, notably IDE or AT drives using advanced prefor-
  2154.      matting methods, are low-level formatted by the supplier, ready for
  2155.      partitioning and a DOS format. Do not try to low-level format these
  2156.      drives yourself. It is always better to back up the partition table with
  2157.      a utility such as TbUtil, which restores the partition table for you
  2158.      without reformatting.
  2159.  
  2160.      If the virus has been identified as a file virus, it will be safest to
  2161.      remove the infected files (by using TbDel) and to copy or reinstall all
  2162.  
  2163.                                       II - 7
  2164.  
  2165.  
  2166. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION II
  2167.  
  2168.  
  2169.      executables from a clean source. A virus cleaning utility, such as
  2170.      TbClean, won't always be able to fully restore the original program code
  2171.      and should be used only as a last resort, such as when you don't have a
  2172.      reliable backup. It may be necessary to replace data files as well if
  2173.      the virus is known to cause damage in that area. 
  2174.  
  2175.      After reassuring yourself that the system is absolutely clean again, run
  2176.      a careful check on all diskettes and backups to remove every single
  2177.      trace of the virus. Keep in mind that it takes only one infected disket-
  2178.      te to cause the same trouble all over again. 
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186.  
  2187.  
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.                                       II - 8
  2223.  
  2224.  
  2225. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2226.  
  2227.  
  2228. SECTION III. USING THE TBAV UTILITIES
  2229.  
  2230.  
  2231. 1. TbScan
  2232.  
  2233. 1.1. The Purpose of TbScan
  2234.  
  2235.      TbScan is a virus scanner: it has been specifically developed to detect
  2236.      viruses, Trojan Horses and other such threats to your valuable data.
  2237.      Most viruses consist of a unique sequence of instructions, called a
  2238.      signature. Hence through checking for the appearance of such signatures
  2239.      in a file we can find out whether or not a program has been infected.
  2240.      Scanning all program files for the signatures of all known viruses helps
  2241.      you to find out quickly whether or not your system has been infected
  2242.      and, if so, by which virus. 
  2243.  
  2244.  
  2245.      Fast Scanning
  2246.  
  2247.      TbScan is the fastest scanner on the market today, therefore it invites
  2248.      users to invoke it from within their AUTOEXEC.BAT file every morning. 
  2249.  
  2250.      TbScan checks itself on invocation. If it detects that it has been
  2251.      infected it aborts with an error. This minimizes the risk of transfer-
  2252.      ring a virus by the TbScan program itself and infecting your system.
  2253.  
  2254.      Heuristic Scanning
  2255.  
  2256.      TbScan can detect yet unknown viruses. The built-in disassembler is able
  2257.      to detect suspicious instruction sequences and abnormal program lay-
  2258.      outs. This feature is called 'heuristic scanning' and it is partially
  2259.      enabled by default. Heuristic scanning is performed on files and boots-
  2260.      ectors. 
  2261.  
  2262. =>   Note that virus scanners can only tell you whether or not your system
  2263.      has been infected and if so, if any damage has already been done. By
  2264.      that time only a non-infected backup or a recovery program such as
  2265.      TbClean can properly counter a virus infection.
  2266.  
  2267.  
  2268.      Scan Scheduling
  2269.  
  2270.      Every PC owner should use a virus scanner frequently. At least one
  2271.      should do to avoid damage caused by a virus. It is highly recommended to
  2272.      devise your own schedule for a regular scan of your system. Creating a
  2273.      special TbScan boot diskette is also recommended in this respect.
  2274.  
  2275.      The following scan sessions (listed in order of preference) are recom-
  2276.      mended:
  2277.  
  2278.      Execute TbScan from a write-protected bootable diskette once a week.
  2279.      Boot from this diskette before invoking the scanner. Booting from a
  2280.  
  2281.                                       III - 1
  2282.  
  2283.  
  2284. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2285.  
  2286.  
  2287.      diskette is the only way to make sure that no stealth virus will become
  2288.      resident in memory.
  2289.  
  2290.      Invoke a daily scan. You can invoke TbScan with the  'once' option from
  2291.      within the autoexec.bat file to perform the daily scan session automati-
  2292.      cally. It is not necessary to boot from the bootable TbScan diskette to
  2293.      perform the daily scan.
  2294.  
  2295.      Scan new diskettes.
  2296.  
  2297.  
  2298. 1.2. How to use Tbscan
  2299.  
  2300.      For daily use you can activate TbScan by loading the program from the
  2301.      DOS commandline (eg. in the autoexec.bat file), or via the TBAV menu.
  2302.      For weekly use, when scanning from the TbScan diskette, you could use
  2303.      the DOS command. The TbScan DOS options are listed in section 1.3. of
  2304.      this chapter.
  2305.  
  2306.  
  2307.      The 'TbScan' menu
  2308.  
  2309.      +----Main menu-----+
  2310.      |  Confi+----TbScan menu-----+
  2311.      |  TbSet|  Start scanning   >|
  2312.      |  TbSca|  Options menu     >|
  2313.      |  TbUti|  Advanced options >|
  2314.      |  TbCle|  If virus found   >|
  2315.      |  TBAV |  Log file menu    >|
  2316.      |  Docum|  View log file     |
  2317.      |  Regis+--------------------+
  2318.      |  Quit and save   |
  2319.      |  eXit (no save)  |
  2320.      +------------------+
  2321.  
  2322.  
  2323.      View log file
  2324.  
  2325.      If one of the log file options is activated (see below) you can study
  2326.      the log file using this option. 
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.                                       III - 2
  2341.  
  2342.  
  2343. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2344.  
  2345.  
  2346.      The 'Path' menu
  2347.  
  2348.      +----Main menu-----+
  2349.      |  Confi+----TbScan menu-----+
  2350.      |  TbSet|  Start+---------Path menu----------+
  2351.      |  TbSca|  Optio|  Specified files/paths     |
  2352.      |  TbUti|  Advan|  Current directory         |
  2353.      |  TbCle|  If vi|  Diskette in drive A:      |
  2354.      |  TBAV |  Log f|  Diskette in drive B:      |
  2355.      |  Docum|  View |  All fixed Drives          |
  2356.      |  Regis+-------|  All fixed Local drives    |
  2357.      |  Quit and save|  All fixed Network drives  |
  2358.      |  eXit (no save+----------------------------+
  2359.      +------------------+
  2360.  
  2361.  
  2362.      This menu may look different depending on your use of .SCN (configurable
  2363.      scan) files. The lay-out above appears when you don't have any .SCN
  2364.      files at all. 
  2365.  
  2366.  
  2367.      Specified files/paths
  2368.  
  2369.      This option will always present you with a prompt at which you can
  2370.      specify the drives, paths, or even files you want to scan. You can
  2371.      specify multiple path specifications separated by spaces. The field is
  2372.      initialized with the last path you scanned before you saved your confi-
  2373.      guration.
  2374.  
  2375.  
  2376.      Current directory
  2377.  
  2378.      Select this option if you want to scan the directory on your system from
  2379.      where you called the TBAV menu shell.
  2380.  
  2381.  
  2382.      Diskette in drive A: (or B:)
  2383.  
  2384.      If you want to scan multiple diskettes, you may wish to activate the
  2385.      'repeat' option of TbScan. See the 'TbScan options' menu for more
  2386.      information.
  2387.  
  2388.  
  2389.      All fixed drives
  2390.  
  2391.      This will cause all available drives (except the removable ones) to be
  2392.      scanned completely. Depending on the settings in the TBAV configuration
  2393.      menu you will be prompted to confirm the selected drives.
  2394.  
  2395.  
  2396.      All fixed Local drives
  2397.  
  2398.  
  2399.                                       III - 3
  2400.  
  2401.  
  2402. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2403.  
  2404.  
  2405.      If you are connected to a network, you probably don't want to scan the
  2406.      entire network always. With this option you just scan the drives which
  2407.      reside in your machine. Depending on the settings in the TBAV configura-
  2408.      tion menu you will be prompted to confirm the selected drives.
  2409.  
  2410.  
  2411.      All fixed Network drives
  2412.  
  2413.      With this option you can scan all network drives. Depending on the
  2414.      settings in the TBAV configuration menu you will be prompted to confirm
  2415.      the selected drives.
  2416.  
  2417.  
  2418.  
  2419.      The 'TbScan options' menu
  2420.  
  2421.      +----Main menu-----+
  2422.      |  Confi+------TbScan menu------+
  2423.      |  TbSet|  Start+-----TbScan options------+
  2424.      |  TbSca|  Optio|  Use TBAV.INI file      |
  2425.      |  TbUti|  Advan|  Prompt for pause       |
  2426.      |  TbCLe|  If vi|  Quick scan             |
  2427.      |  TBAV |  Log f|  Non-executable scan    |
  2428.      |  Docum|  View |  Maximum Compatibility  |
  2429.      |  Regis+-------|v Bootsector scan        |
  2430.      |  Quit and save|v Memory scan            |
  2431.      |  eXit (no save|  HMA scan forced        |
  2432.      +---------------|v Upper memory scan      |
  2433.                      |v Windows-OS/2-virus scan|
  2434.                      |v Sub-Directory scan     |
  2435.                      |  Repeat scanning        |
  2436.                      |v Abort on Ctrl-Break    |
  2437.                      |v Fast scrolling         |
  2438.                      +-------------------------+
  2439.  
  2440.  
  2441.      Use TBAV.INI file
  2442.  
  2443.      TbScan searches for a file named TBAV.INI in the TbScan directory. By
  2444.      enabling this option, the TbScan configuration values, saved in the
  2445.      TBAV.INI file, will also be valid when loading TbScan from the command
  2446.      line. Be careful, since options specified in the TBAV.INI file can not
  2447.      be undone on the command line. See chapter I-2 ('Configuration').
  2448.  
  2449.  
  2450.      Prompt for pause
  2451.  
  2452.      When you activate the 'pause' option TbScan will stop after it has
  2453.      checked the contents of one window. This gives you the possibility to
  2454.      examine the results without having to consult a log file afterwards.
  2455.  
  2456.  
  2457.  
  2458.                                       III - 4
  2459.  
  2460.  
  2461. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2462.  
  2463.  
  2464.      Quick scan
  2465.  
  2466.      TbScan will use the Anti-Vir.Dat files to check for file changes since
  2467.      the last time. Only if a file has been changed (CRC change) or is not
  2468.      yet listed in Anti-Vir.Dat it will be scanned. Normally TbScan will
  2469.      always scan files.
  2470.  
  2471.  
  2472.      Non-executable scan 
  2473.  
  2474.      With this option TbScan will scan non-executable files (files without
  2475.      extension COM, EXE, SYS or BIN) too. If TbScan finds out that such a
  2476.      file does not contain anything that can be executed by the processor the
  2477.      file will be 'skipped'. Otherwise the file will be searched for COM, EXE
  2478.      and SYS signatures. TbScan however will not perform heuristic analysis
  2479.      on non-executable files. Since viruses normally do not infect non-
  2480.      executable files it is not necessary to scan non-executable files too.
  2481.      We even recommend not to use this option unless you have a good reason
  2482.      to scan all files.
  2483.  
  2484.      Once again: a virus needs to be executed to perform what it is program-
  2485.      med to do, and since non-executable files will not be executed a virus
  2486.      in such a file can not do anything. For this reason viruses do not even
  2487.      try to infect such files. Some viruses however will write to non-execu-
  2488.      table files as a result of 'incorrect' programming. If so, these non-
  2489.      executable files will never harm other program or data files, but do
  2490.      contain corrupted data.
  2491.  
  2492.  
  2493.      Maximum compatibility 
  2494.  
  2495.      If you select this option, TbScan attempts to be more compatible with
  2496.      your system. Use this option if the program does not behave as you would
  2497.      expect, or even halts the system. This option will slow down the scan-
  2498.      ning process. Therefore, it should only be used if necessary. 
  2499. =>   Note that this option does not affect the results of a scan.
  2500.  
  2501.  
  2502.      Bootsector scan 
  2503.  
  2504.      Enabling this option will force TbScan to scan the bootsector as well.
  2505.  
  2506.  
  2507.      Memory scan 
  2508.  
  2509.      Enabling this option will force TbScan to scan the memory of the PC.
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.                                       III - 5
  2518.  
  2519.  
  2520. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2521.  
  2522.  
  2523.      HMA scan forced 
  2524.  
  2525.      TbScan detects the presence of an XMS-driver, and scans HMA automa-
  2526.      tically. If you have an HMA-driver which is not compatible with the XMS
  2527.      standard you can use the 'HMA' option to force TbScan to scan HMA.
  2528.  
  2529.  
  2530.      Upper memory scan 
  2531.  
  2532.      By default TbScan identifies RAM beyond the DOS limit and scans that
  2533.      too. This means that video memory and the current EMS pages are scanned
  2534.      by default. You can use this option to enable the scanning of non-DOS
  2535.      memory.
  2536.  
  2537.  
  2538.      Windows-OS/2-virus scan
  2539.  
  2540.      TbScan also searches for Windows and OS/2 viruses. Although there exist
  2541.      only very few of these viruses, it takes TbScan relatively a lot of time
  2542.      to search for them. If you don't use Windows or OS/2 you can speed up
  2543.      TbScan by disabeling the detection of Windows and OS/2 virus detection.
  2544.  
  2545.  
  2546.      Subdirectory scan 
  2547.  
  2548.      By default TbScan will search sub-directories for executable  files,
  2549.      unless a filename (wildcards allowed!) is specified. If you disable this
  2550.      option, TbScan will not scan sub-directories.
  2551.  
  2552.  
  2553.      Repeat scanning
  2554.  
  2555.      This option is very useful if you want to check a large amount of
  2556.      diskettes. TbScan does not return to DOS after checking a disk, but it
  2557.      prompts you to insert another disk in the drive.
  2558.  
  2559.  
  2560.      Abort on Ctrl-Break
  2561.  
  2562.      You can disable this option if you don't want to be able to abort TbScan
  2563.      with Ctrl-Break.
  2564.  
  2565.  
  2566.      Fast scrolling
  2567.  
  2568.      TbScan shows the processed file in a scrolling window. There are two
  2569.      methods of scrolling: fast scrolling where the files are displayed on
  2570.      top of the previous ones if the window becomes filled, and the conventi-
  2571.      onal slow method of scrolling where the files at the bottom 'push up'
  2572.      the previous ones. By default TbScan uses the faster but less attractive
  2573.      method of scrolling.
  2574.  
  2575.  
  2576.                                       III - 6
  2577.  
  2578.  
  2579. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2580.  
  2581.  
  2582.      The 'TbScan advanced options' menu
  2583.  
  2584.      +----Main menu-----+
  2585.      |  Confi+------TbScan menu------+
  2586.      |  TbSet|  Start+------TbScan advanced options-----+
  2587.      |  TbSca|  Optio|  High heuristic sensitivity      |
  2588.      |  TbUti|  Advan|v Auto heuristic sensitivity      |
  2589.      |  TbCLe|  If vi|  Low heuristic sensitivity       |
  2590.      |  TBAV |  Log f|  Extract signatures              |
  2591.      |  Docum|  View |  Configure executable extensions |
  2592.      |  Regis+-------+----------------------------------+
  2593.      |  Quit and save   |                      
  2594.      |  eXit (no save)  |
  2595.      +------------------+
  2596.  
  2597.  
  2598.      High heuristic sensitivity 
  2599.  
  2600.      TbScan always performs a heuristic scan on the files being processed.
  2601.      However, only if a file is very probably infected with a virus, TbScan
  2602.      will report the file as being infected. If you use option 'heuristic',
  2603.      TbScan is somewhat more sensitive. In this mode 90% of the new, unknown,
  2604.      viruses will be detected without any signature, but some false alarms
  2605.      may occur. Consult also section 'Heuristic scanning' of this chapter
  2606.      (3.1).
  2607.  
  2608.  
  2609.      Auto heuristic sensitivity 
  2610.  
  2611.      TbScan automatically adjusts the heuristic detection level after a virus
  2612.      has been found. This provides you maximum detection capabilities in case
  2613.      you need it, while the amount of false alarms due to heuristics remains
  2614.      small in normal situations. In other words: as soon as a virus has been
  2615.      found, TbScan will anticipate and proceed as if 'high heuristic sensiti-
  2616.      vity' has been selected.
  2617.  
  2618.  
  2619.      Low heuristic sensitivity
  2620.  
  2621.      In this mode TbScan will almost never issue a false alarm. However still
  2622.      about 50% of the new unknown viruses will be detected.
  2623.  
  2624.  
  2625.      Extract signatures 
  2626.  
  2627.      This option is available to registered users only. See the chapter
  2628.      'TbGensig' (IV-5) on how to use the option 'extract'.
  2629.  
  2630.  
  2631.      Configure executable extensions
  2632.  
  2633.  
  2634.  
  2635.                                       III - 7
  2636.  
  2637.  
  2638. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2639.  
  2640.  
  2641.      By default, TbScan only scans file with a filename extension which
  2642.      indicates that the file is a program file. Viruses which do not infect
  2643.      executable code simply do not exist. Files with the extension EXE, COM,
  2644.      BIN, SYS, OV? are considered to be executable. 
  2645.  
  2646.      However, there are some additional files which have an internal layout
  2647.      that makes them suitable for infection by viruses. Although it is not
  2648.      likely that you will ever execute most of these files, you may want to
  2649.      scan them anyway.
  2650.  
  2651.      Some filename extensions that may indicate an executable format are:
  2652.      .DLL.SCR.MOD.CPL.00?.APP
  2653.      The first four extensions indicate Windows executable files. They
  2654.      normally display "This program requires Microsoft Windows" when you try
  2655.      to execute them, so you probably won't run these files often under DOS.
  2656.      Even when they are infected by a DOS virus they are not likely a threat
  2657.      since you don't execute them. Therefore TbScan does not scan them by
  2658.      default. To make TbScan scan these files by default, select this option
  2659.      and fill out the extensions you want to have scanned. The question mark
  2660.      as wildcard is allowed.
  2661.  
  2662.      Warning! Be careful about which extensions you specify: scanning a non-
  2663.      executable file causes unpredicatble results, and may result in false
  2664.      alarms.
  2665.  
  2666.  
  2667.      The 'If virus found' menu
  2668.  
  2669.      In this menu, you can configure the actions TbScan should take, if
  2670.      detecting a virus.
  2671.  
  2672.  
  2673.      +----Main menu-----+
  2674.      |  Confi+------TbScan menu------+
  2675.      |  TbSet|  Start+--What if a virus is found?--+
  2676.      |  TbSca|  Optio|v Present action menu        |
  2677.      |  TbUti|  Advan|  Just continue (log only)   |
  2678.      |  TbCLe|  If vi|  Delete infected file       |
  2679.      |  TBAV |  Log f|  Kill infected file         |
  2680.      |  Docum|  View |  Rename infected file       |
  2681.      |  Regis+-------+-----------------------------+
  2682.      |  Quit and save   |
  2683.      |  eXit (no save)  |
  2684.      +------------------+
  2685.  
  2686.  
  2687.      Present action menu
  2688.  
  2689.      If TbScan detects a virus, the program will display a menu containing
  2690.      the possible actions to be taken: just continu, delete or rename the
  2691.      infected file.
  2692.  
  2693.  
  2694.                                       III - 8
  2695.  
  2696.  
  2697. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2698.  
  2699.  
  2700.      Just continue (log only) 
  2701.  
  2702.      If TbScan detects an infected file it prompts the user to delete or
  2703.      rename the infected file, or to continue without action. If you select
  2704.      this option, TbScan will always continue. We highly recommend you to use
  2705.      a log file in such situations, as a scanning operation does not make
  2706.      much sense without the return messages being read (see 'Command line
  2707.      options').
  2708.  
  2709.  
  2710.      Delete infected file 
  2711.  
  2712.      If TbScan detects a virus in a file it prompts the user to delete or
  2713.      rename the infected file, or to continue without action. If you specify
  2714.      the 'delete' option, TbScan will delete the infected file automatically,
  2715.      without prompting the user first. Use this option if you have determined
  2716.      it is a virus infection. Make sure that you have a clean back-up, and
  2717.      that you really want to get rid of all infected files at once.
  2718.  
  2719.  
  2720.      Kill infected file
  2721.  
  2722.      This option is nearly the same as the 'delete' option. However, with the
  2723.      DOS 'undelete' program you can recover a deleted file, but if a file has
  2724.      been deleted with the 'kill' option, recovery is not possible anymore.
  2725.  
  2726.  
  2727.      Rename infected file 
  2728.  
  2729.      If TbScan detects a file virus it prompts the user to delete or rename
  2730.      the infected file, or to continue without action. If you select the
  2731.      'rename' option, TbScan will rename the infected file automatically,
  2732.      without prompting the user first. By default, the first character of the
  2733.      file extension will be replaced by the character 'V'. An .EXE file will
  2734.      be renamed to .VXE, and a .COM file to .VOM. This prevents the infected
  2735.      programs from being executed, spreading the infection. At the same time
  2736.      they can be kept for later examination and repair.
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.                                       III - 9
  2754.  
  2755.  
  2756. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2757.  
  2758.  
  2759.      The 'TbScan LOG' menu
  2760.  
  2761.      +----Main menu-----+
  2762.      |  Confi+------TbScan menu------+
  2763.      |  TbSet|  Start+-------TbScan LOG menu-------+
  2764.      |  TbSca|  Optio|  Log file path/name         |
  2765.      |  TbUti|  Advan|  Output to log file         |
  2766.      |  TbCLe|  If vi|  Specify log-level         >|
  2767.      |  TBAV |  Log f|  Append to existing log     |
  2768.      |  Docum|  View |  No heuristic descriptions  |
  2769.      |  Regis+-------+-----------------------------+
  2770.      |  Quit and save   |
  2771.      |  eXit (no save)  |
  2772.      +------------------+
  2773.  
  2774.  
  2775.      Log file path/name 
  2776.  
  2777.      With option logname you can specify the name of the log file to be used.
  2778.      TbScan will create the file in the current directory unless you specify
  2779.      a path and filename after selecting this option. If the log file already
  2780.      exists, it will be overwritten. If you want to print the results, you
  2781.      can specify a printer device name rather than a filename (logname=lpt1).
  2782. =>   Note: you have to combine this option with option 'log'. 
  2783.  
  2784.  
  2785.      Output to logfile 
  2786.  
  2787.      When you use this option, TbScan creates a log file. The log file lists
  2788.      all infected program files, specifying heuristic flags (see: appendix B)
  2789.      and complete pathnames.
  2790.  
  2791.  
  2792.      Append to existing log 
  2793.  
  2794.      If you use this option, TbScan will not overwrite an existing log file
  2795.      but append the new information to it. If you use this option often, it
  2796.      is recommended to delete or truncate the log file once in a while to
  2797.      avoid unlimited growth.
  2798. =>   Note: you have to combine this option with option 'log'. 
  2799.  
  2800.  
  2801.      No heuristic descriptions 
  2802.  
  2803.      If you enable this option TbScan will not specify the descrip-tions of
  2804.      the heuristic flags in the log file. The heuristic flag descriptions are
  2805.      listed in appendix B.
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.                                      III - 10
  2813.  
  2814.  
  2815. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2816.  
  2817.  
  2818.      The 'LOG level' menu
  2819.  
  2820.      +----Main menu-----+
  2821.      |  Confi+------TbScan menu------+
  2822.      |  TbSet|  Start+-------TbScan LOG menu-------+
  2823.      |  TbSca|  Optio|  Log f+--------Log-level menu--------+
  2824.      |  TbUti|  Advan|  Outpu|  0: Log only infected files  |
  2825.      |  TbCLe|  If vi|  Speci|v 1: Log summary too          |
  2826.      |  TBAV |  Log f|  Appen|  2: Log suspected too        |
  2827.      |  Docum|  View |  No he|  3: Log all warnings too     |
  2828.      |  Regis+-------+-------|  4: Log clean files too      |
  2829.      |  Quit and save   |    +------------------------------+
  2830.      |  eXit (no save)  |
  2831.      +------------------+
  2832.  
  2833.  
  2834.      Loglevel 
  2835.  
  2836.      These levels determine what kind of file information will be stored in
  2837.      the log file. The default log level is 1. You may select one of five log
  2838.      levels:
  2839.  
  2840.      0    Log only infected files. If there are no infected files do not
  2841.           create or change the log file.
  2842.  
  2843.      1    Log summary too. Put a summary and timestamp in the log file. Put
  2844.           only infected files in the log file.
  2845.  
  2846.      2    Log suspected too. Same as loglevel=1, but now also 'suspected'
  2847.           files are logged. Suspected files are files that would trigger the
  2848.           heuristic alarm if option 'heuristic' had been specified.
  2849.  
  2850.      3    Log all warnings too. Same as loglevel=2, but all files that have a
  2851.           warning character printed behind the filename will be logged too.
  2852.  
  2853.      4    Log clean files too. All files being processed will be put into the
  2854.           log file.
  2855.  
  2856.  
  2857. 1.3. Command line options
  2858.  
  2859.      When loaded from the DOS command line, Tbscan recognizes option short-
  2860.      keys and option words. The words are easier to memorize, and they will
  2861.      be used in this manual for convenience. TbScan searches for a file named
  2862.      TBAV.INI in the TbScan directory. 
  2863.  
  2864.      If the keyword 'UseIni' is specified in the [TbScan] section of the
  2865.      TBAV.INI file, the options will also be valid when TbScan is invoked
  2866.      from the command line. Be careful, as options specified in the TBAV.INI
  2867.      file can not be undone on the command line.
  2868.  
  2869.  
  2870.  
  2871.                                      III - 11
  2872.  
  2873.  
  2874. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2875.  
  2876.  
  2877.      option parameter        short  explanation
  2878.      -----------------------------------------------------------------
  2879.      help                    he     help 
  2880.      pause                   pa     enable 'Pause' prompt
  2881.      mono                    mo     force monochrome
  2882.      quick                   qs     quick scan (uses Anti-Vir.Dat)
  2883.      allfiles                af     scan non-executable files too
  2884.      alldrives               ad     scan all local non-removable drives
  2885.      allnet                  an     scan all network drives
  2886.      heuristic               hr     enable heuristic alerts
  2887.      extract                 ex     extract signature (registered only)
  2888.      once                    oo     only once a day
  2889.      slowscroll              ss     enable conventional (slow) scrolling
  2890.      secure                  se     user abort not allowed (reg. only)
  2891.      compat                  co     maximum-compatibility mode
  2892.      ignofile                in     ignore no-file-error
  2893.      old                     ol     disable "this program is old" message
  2894.      noboot                  nb     skip bootsector check
  2895.      nomem                   nm     skip memory check
  2896.      hma                     hm     force HMA scan
  2897.      nohmem                  nh     skip UMB/HMA scan
  2898.      nosub                   ns     skip sub-directories
  2899.      noautohr                na     auto heuristic level adjust
  2900.      nowin                   nw     do not scan for Windows/OS2 viruses
  2901.      repeat                  rp     scan multiple diskettes
  2902.      batch                   ba     batch mode. No user input
  2903.      delete                  de     delete infected files
  2904.      kill                    ki     kill infected files
  2905.      log                     lo     output to logfile
  2906.      append                  ap     log file append mode
  2907.      expertlog               el     no heuristic descriptions in log 
  2908.  
  2909.      logname  =<filename>    ln     set path/name of log file
  2910.      loglevel =<0..4>        ll     set log level
  2911.      wait     =<0...255>     wa     amount of timerticks to wait
  2912.      rename   [=<text-mask>] rn     rename infected files
  2913.      exec     =.<ext-mask>   ee     specify executable extensions
  2914.  
  2915.  
  2916.      You can find an explanation on most of the command line options at the
  2917.      similar menu descriptions presented above. 
  2918.  
  2919.      help (he)
  2920.      If you specify this option TbScan will display the help as listed above.
  2921.  
  2922.      pause (pa)
  2923.      When you activate the 'pause' option TbScan will stop after it has
  2924.      checked the contents of one window. This gives you the possibility to
  2925.      examine the results without having to consult a log file afterwards.
  2926.  
  2927.  
  2928.  
  2929.  
  2930.                                      III - 12
  2931.  
  2932.  
  2933. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2934.  
  2935.  
  2936.      mono (mo)
  2937.      This option forces TbScan to refrain from using colors in the screen
  2938.      output. This might enhance the screen output on some LCD screens or
  2939.      color-emulating monochrome systems.
  2940.  
  2941.      quick (qs)
  2942.      TbScan will use the Anti-Vir.Dat files to check for file changes since
  2943.      the last time only. Only if a file has been changed (CRC change) or is
  2944.      not yet listed in Anti-Vir.Dat it will be scanned. Normally TbScan will
  2945.      always scan files.
  2946.  
  2947.      allfiles (af)
  2948.      With this option TbScan will scan non-executable files (files without
  2949.      extension COM, EXE, SYS or BIN) too. If TbScan finds out that such a
  2950.      file does not contain anything that can be executed by the processor the
  2951.      file will be 'skipped'. Otherwise the file will be searched for COM, EXE
  2952.      and SYS signatures. TbScan however will not perform heuristic analysis
  2953.      on non-executable files.
  2954.  
  2955.      Since viruses normally do not infect non-executable files it is not
  2956.      necessary to scan non-executable files too. We even recommend not to use
  2957.      this option unless you have a good reason to scan all files. Once again:
  2958.      a virus needs to be executed to perform what it is programmed to do, and
  2959.      since non-executable files will not be executed a virus in such a file
  2960.      can not do anything. For this reason viruses do not even try to infect
  2961.      such files. Some viruses however will write to non-executable files as a
  2962.      result of 'incorrect' programming. If so, these non-executable files
  2963.      will never harm other program or data files, but do contain corrupted
  2964.      data.
  2965.  
  2966.      alldrives (ad)
  2967.      This option causes TbScan to scan all local non-removabe disks.
  2968.  
  2969.      allnet (an)
  2970.      This option causes TbScan to scan all network drives.
  2971.  
  2972.      heuristic (hr)
  2973.      TbScan always performs a heuristic scan on the files being processed.
  2974.      However, only if a file is very probably infected with a virus, TbScan
  2975.      will report the file as being infected. If you use option 'heuristic',
  2976.      TbScan is somewhat more sensitive. In this mode 90% of the new, unknown,
  2977.      viruses will be detected without any signature, but some false alarms
  2978.      may occur. Consult also section 'Heuristic scanning' of this chapter
  2979.      (3.1). 
  2980.  
  2981.      extract (ex)
  2982.      This option is available to registered users only. See the chapter
  2983.      'TbGensig' (IV-5) on how to use the option 'extract'. 
  2984.  
  2985.      once (oo)
  2986.      If you specify this option TbScan will 'remember' after its scan that is
  2987.      has been executed that day, and that it should not be executed again the
  2988.  
  2989.                                      III - 13
  2990.  
  2991.  
  2992. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  2993.  
  2994.  
  2995.      same day with this particular option set. This option is very useful if
  2996.      you incorporate it in your AUTOEXEC.BAT file in combination with a scan
  2997.      list file (.SCN):
  2998.           TbScan @Everyday.Scn once rename
  2999.  
  3000.      TbScan will now scan the list of files and/or paths specified in the
  3001.      file EVERYDAY.SCN during the first boot-up of the day. 
  3002.  
  3003.      If the systems boots more often that day, TbScan will then return to DOS
  3004.      immediately.  This option does not interfere with the regular use of
  3005.      TbScan. If you invoke TbScan without the 'once' option it will always be
  3006.      executed, regardless of a previous run with the 'once' option set.
  3007.  
  3008. =>   Note that if TbScan cannot write to TBSCAN.EXE because it has been
  3009.      flagged 'read-only' or is located on a write-protected diskette, the
  3010.      'once' option will fail and the scanner will be executed without it.
  3011.  
  3012.      slowscroll (ss)
  3013.      If you specify this option, TbScan will scroll the files in the files
  3014.      window conventionally. This method is slower but looks nicer.
  3015.  
  3016.      secure (se)
  3017.      This option is available to registered users only. If this option is
  3018.      specified it is no longer possible to cancel TbScan by pressing Ctrl-
  3019.      Break, or to respond to a virus alert window.
  3020.  
  3021.      compat (co)
  3022.      If you select this option, TbScan attempts to be more compatible with
  3023.      your system. Use this option if the program does not behave as you would
  3024.      expect, or even halts the system. This option will slow down the scan-
  3025.      ning process. Therefore, it should only be used if necessary. 
  3026.      Note that this option does not affect the results of a scan.
  3027.  
  3028.      ignofile (in)
  3029.      If this option is specified and no files can be found, TbScan will not
  3030.      display the 'no files found' message, nor does it exit with errorlevel
  3031.      1. This option might be useful for automatic contents scanning.
  3032.  
  3033.      old (ol)
  3034.      This option suppresses the message which appears if TbScan is 6 months
  3035.      old.
  3036.  
  3037.      noboot (nb)
  3038.      If you specify this option TbScan will not scan the bootsector.
  3039.  
  3040.      nomem (nm)
  3041.      If you specify this option TbScan will not scan the memory of the PC for
  3042.      viruses.
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.                                      III - 14
  3049.  
  3050.  
  3051. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3052.  
  3053.  
  3054.      hma (hm)
  3055.      TbScan detects the presence of an XMS-driver, and scans HMA automa-
  3056.      tically. If you have an HMA-driver which is not compatible with the XMS
  3057.      standard you can use the 'HMA' option to force TbScan to scan HMA.
  3058.  
  3059.      nohmem (nh)
  3060.      By default TbScan identifies RAM beyond the DOS limit and scans that
  3061.      too. This means that video memory and the current EMS pages are scanned
  3062.      by default. You can use this option to disable the scanning of non-DOS
  3063.      memory.
  3064.  
  3065.      nosub (ns)
  3066.      By default TbScan will search sub-directories for executable  files,
  3067.      unless a filename (wildcards allowed!) is specified. If you enable this
  3068.      option, TbScan will not scan sub-directories.
  3069.  
  3070.      noautohr (na)
  3071.      TbScan automatically adjusts the heuristic detection level after a virus
  3072.      has been found. This provides you maximum detection capabilities in case
  3073.      you need it, while the amount of false alarms due to heuristics remains
  3074.      small in normal situations. In other words: as soon as a virus has been
  3075.      found, TbScan will anticipate and proceed as if option 'heuristic' has
  3076.      been speci-fied. If you don't want this, you can specify option 'noau-
  3077.      tohr'.
  3078.  
  3079.      nowin (nw)
  3080.      TbScan also searches for Windows and OS/2 viruses. Although there exist
  3081.      only very few of these viruses, it takes TbScan relatively a lot of time
  3082.      to search for them. If you don't use Windows or OS/2 you can speed up
  3083.      TbScan by disabeling the detection of Windows and OS/2 virus detection.
  3084.  
  3085.      repeat (rp)
  3086.      This option is very useful if you want to check a large amount of
  3087.      diskettes. TbScan does not return to DOS after checking a disk, but it
  3088.      prompts you to insert another disk in the drive.
  3089.  
  3090.      batch (ba)
  3091.      By enabling this option TbScan will scan without displaying any messa-
  3092.      ges. Therefore, the use of a LOG file is highly
  3093.      advisable.
  3094.  
  3095.      delete (de)
  3096.      If TbScan detects a virus in a file it prompts the user to delete or
  3097.      rename the infected file, or to continue without action. If you specify
  3098.      the 'delete' option, TbScan will delete the infected file automatically,
  3099.      without prompting the user first. Use this option if you have determined
  3100.      it is a virus infection. Make sure that you have a clean back-up, and
  3101.      that you really want to get rid of all infected files at once.
  3102.  
  3103.      kill (ki)
  3104.      If TbScan detects a virus in a file it prompts the user to deleter or
  3105.      rename the infected file, or to continue without action. If you specify
  3106.  
  3107.                                      III - 15
  3108.  
  3109.  
  3110. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3111.  
  3112.  
  3113.      the 'kill' option, TbScan will delete the infected file automatically,
  3114.      without prompting the user first. However, unlike the 'delete' option,
  3115.      files which have been killed can not be undeleted anymore. Be careful if
  3116.      you use this option. Make sure you have a clean back-up!
  3117.  
  3118.      log (lo)
  3119.      When you use this option, TbScan creates a log file. The log file lists
  3120.      all infected program files, specifying heuristic flags (see: appendix B)
  3121.      and complete pathnames.
  3122.  
  3123.      append (ap)
  3124.      If you use this option, TbScan will not overwrite an existing log file
  3125.      but append the new information to it. If you use this option often, it
  3126.      is recommended to delete or truncate the log file once in a while to
  3127.      avoid unlimited growth.
  3128. =>   Note: you have to combine this option with option 'log'.
  3129.  
  3130.      expertlog (el)
  3131.      If you enable this option TbScan will not specify the descriptions of
  3132.      the heuristic flags in the log file. The heuristic flag descriptions are
  3133.      listed in appendix B.
  3134.  
  3135.      logname =<filename> (ln)
  3136.      With option logname you can specify the name of the log file to be used.
  3137.      TbScan will create the file in the current directory unless you specify
  3138.      a path and filename after selecting this option. If the log file already
  3139.      exists, it will be overwritten. If you want to print the results, you
  3140.      can specify a printer device name rather than a filename (logname=lpt1).
  3141. =>   Note: you have to combine this option with option 'log'.
  3142.  
  3143.      loglevel =<0..4> (ll)
  3144.      These levels determine what kind of file information will be stored in
  3145.      the log file. The default log level is 1. You may select one of five log
  3146.      levels:
  3147.  
  3148.      0    Log only infected files. If there are no infected files do not
  3149.           create or change the log file.
  3150.  
  3151.      1    Log summary too. Put a summary and timestamp in the log file. Put
  3152.           only infected files in the log file.
  3153.  
  3154.      2    Log suspected too. Same as loglevel=1, but now also 'suspected'
  3155.           files are logged. Suspected files are files that would trigger the
  3156.           heuristic alarm if option 'heuristic' had been specified.
  3157.  
  3158.      3    Log all warnings too. Same as loglevel=2, but all files that have a
  3159.           warning character printed behind the filename will be logged too.
  3160.  
  3161.      4    Log clean files too. All files being processed will be put into the
  3162.           log file.
  3163.  
  3164. =>   Note: you have to combine this option with option 'log'.
  3165.  
  3166.                                      III - 16
  3167.  
  3168.  
  3169. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3170.  
  3171.  
  3172.      wait =<0..255> (wa)
  3173.      This option can be used to delay TbScan, which may be handy if you want
  3174.      to scan a very busy network and you don't want to occupy the network to
  3175.      havily. You have to specify the amount of timer ticks you want to insert
  3176.      between every two files scanned.
  3177.  
  3178.      rename [=<text-mask>] (rn)
  3179.      If TbScan detects a file virus it prompts the user to delete or rename
  3180.      the infected file, or to continue without action. If you select the
  3181.      'rename' option, TbScan will rename the infected file automatically,
  3182.      without prompting the user first. By default, the first character of the
  3183.      file extension will be replced by the character 'V'. An .EXE file will
  3184.      be renamed to .VXE, and a .COM file to .VOM. This prevents the infected
  3185.      programs from being executed, spreading the infection. At the same time
  3186.      they can be kept for later examination and repair.
  3187.  
  3188.      You may also add a parameter to this option specifying the target
  3189.      extension. This parameter should always contain 3 characters; question
  3190.      marks are allowed. The default target extension is 'V??'.
  3191.  
  3192.      exec =.<ext-mask> (ee)
  3193.      With this option you can add filename extensions which indicate that a
  3194.      file is executable. If you want to use this option, you probably want to
  3195.      put it in the configuration file. Consult the explanation of the similar
  3196.      menu option for more details.
  3197.  
  3198.  
  3199.      Examples:
  3200.           TbScan c:\ noboot 
  3201.  
  3202.      Process all executable files in the root directory and its subdirecto-
  3203.      ries. Skip the bootsector scan.
  3204.  
  3205.           TbScan \*.* 
  3206.  
  3207.      Process all files in the root directory. Don't process subdirectories.
  3208.  
  3209.           TbScan @Local.Scn /nomem
  3210.  
  3211.      Process all paths specified in the file Local.Scn and skip memory
  3212.      scanning.
  3213.  
  3214.           TbScan c:\ log logname=c:\test.log loglevel=2
  3215.  
  3216.      All executable files on drive C: will be checked. A LOG file with the
  3217.      name c:\test.log will be created. The log file will contain all infected
  3218.      and suspected files.
  3219.  
  3220.           TbScan \ log logname=lpt1
  3221.  
  3222.      TbScan will scan the root directory and its subdirectories. The results
  3223.      are redirected to the printer rather than to a log file.
  3224.  
  3225.                                      III - 17
  3226.  
  3227.  
  3228. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3229.  
  3230.  
  3231.  
  3232. 1.4. The scanning process
  3233.  
  3234.      Choose the 'Start scanning' option in the TbScan menu or start the
  3235.      TbScan program from the DOS command line. TbScan will start scanning
  3236.      right away.
  3237.  
  3238.      +-----------------------------------------------------------------+
  3239.      |Thunderbyte virus detector v6.04 - (C) 1989-93, Thunderbyte B.V. |
  3240.      |                                                                 |
  3241.      | TBAV is upgraded every two months. Free hotline support is      |
  3242.      | provided for all registered users via telephone, fax and        |
  3243.      | electronic bulletin board. Read the comprehensive documentation |
  3244.      | files for detailed info. BBS: +31- 85- 212 395                  |
  3245.      |                                                                 |
  3246.      | C:\DOS\                                                         |
  3247.      | ** Unregistered evaluation version. Don't forget to register! **|
  3248.      |                                                                 |
  3249.      | ANSI.SYS      scanning..>        OK    signatures:        986   |
  3250.      | COUNTRY.SYS   skipping..>        OK                             |
  3251.      | DISKCOPY.COM  tracing...>        OK    file system:       OWN   |
  3252.      | DISPLAY.SYS   scanning..>        OK                             |
  3253.      | DRIVER.SYS    scanning..>        OK    directories:        01   |
  3254.      | EGA.CPI       skipping..>        OK    total files:        17   |
  3255.      | FASTOPEN.EXE  looking...>        OK    executables:        12   |
  3256.      | FDISK.EXE     looking...>        OK    CRC verified:       10   |
  3257.      | FORMAT.COM    tracing...>   E    OK    changed files:      00   |
  3258.      | GRAFTABL.COM  tracing...>        OK    infected items:     00   |
  3259.      | GRAPHICS.COM  tracing...>        OK                             |
  3260.      | GRAPHICS.PRO  skipping..>        OK    elapsed time:    00:05   |
  3261.      |                                        Kb /second:        57    |
  3262.      |                                                                 |
  3263.      +-----------------------------------------------------------------+
  3264.  
  3265.      TbScan divides the screen into three windows: an information window, a
  3266.      scanning window and a status window. The information window will initi-
  3267.      ally display the vendor information only. 
  3268.  
  3269.  
  3270.      While Scanning
  3271.  
  3272.      If TbScan detects infected files the names of the file and the virus
  3273.      will be displayed in the upper window. The lower left window displays
  3274.      the names of the files being processed, the algorithm in use, info and
  3275.      heuristic flags, and finally an OK statement or the name of the virus
  3276.      detected.
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.                                      III - 18
  3285.  
  3286.  
  3287. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3288.  
  3289.  
  3290.      Example: NLSFUNC.EXE     checking..>    FU          OK
  3291.                  |              |            |           |
  3292.                  |              |            |           result of scan
  3293.                  |              |            heuristic flags
  3294.                  |              algorithm being used to process file
  3295.                  name of file in process
  3296.  
  3297.  
  3298.      You will see comments following each file name: 'looking', 'checking',
  3299.      'tracing', 'scanning' or 'skipping'. These refer to the various algo-
  3300.      rithms being used to scan files.
  3301.  
  3302.      Other comments that TbScan can display here are the heuristic flags.
  3303.      Consult the 'Heuristic flags' chapter (1.3) for more information on
  3304.      these warning characters.
  3305.  
  3306.      The lower right window is the status window. It displays the number of
  3307.      files and directories encountered, the amount of viruses found. It also
  3308.      displays which file system is being used: either "DOS" or "OWN". The
  3309.      latter means that TbScan is able to bypass DOS. If this is the case,
  3310.      TbScan reads all files directly from disk for extra security and speed.
  3311.  
  3312.      The scanning process can be aborted by pressing Ctrl-Break.
  3313.  
  3314.  
  3315.      Detecting Viruses
  3316.  
  3317.      As soon as an infected program is found, TbScan will display the name of
  3318.      the virus. If you did not specify one of the  options 'batch', 'rename'
  3319.      or 'delete', TbScan will prompt you to specify the appropriate action.
  3320.      If you choose to rename the file, the first character of the file
  3321.      extension will be replaced by the character 'V'. This prevents the file
  3322.      from being executed by accident before it has been investigated more
  3323.      thoroughly. 
  3324.  
  3325.  
  3326.      If an infected file is detected, TbScan will display a message:
  3327.  
  3328.           Infected by [name of virus] virus.
  3329.           The file is infected by the virus mentioned.
  3330.  
  3331.           Is Joke named [name of Joke]  
  3332.           There are some programs which simulate that the system is infected
  3333.           by a virus. A joke is completely harmless.
  3334.  
  3335.           Is Trojan named [name of Trojan]
  3336.           The file is a Trojan Horse.Do not execute the program but delete
  3337.           it.
  3338.  
  3339.           Damaged by [name of virus]
  3340.           A damaged file contains - unlike an infected file - not the virus
  3341.           itself, but has been damaged by the virus.
  3342.  
  3343.                                      III - 19
  3344.  
  3345.  
  3346. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3347.  
  3348.  
  3349.           Dropper of [name of virus]
  3350.           A dropper is a program that has not been infected itself, but which
  3351.           does contain a bootsector virus and is able to install it in your
  3352.           bootsector.
  3353.  
  3354.           Overwritten by [name of virus]
  3355.           Some viruses overwrite files. An overwritten file contains - unlike
  3356.           an infected file - not the virus itself, but has been overwritten
  3357.           with garbage.
  3358.  
  3359.      It is also possible that TbScan encounters a file that seems to be
  3360.      infected by a virus, although a signature could not be found. In this
  3361.      case TbScan displays the prefix 'Probably' before the message. 
  3362.  
  3363.  
  3364.      Program Validation
  3365.  
  3366.      If TbScan finds a file to be very suspicious and pops up with the virus
  3367.      alert window, you can avoid future false alarms by pressing 'V' (Valida-
  3368.      te program). Note that this only works if there is an Anti-Vir.Dat
  3369.      record of the file available. Once a program is validated it will no
  3370.      longer be subject to heuristic analysis, unless the program changes and
  3371.      does not match the Anti-Vir.Dat record anymore. This will be the case if
  3372.      such a file gets infected afterwards, so TbScan will still report
  3373.      infections on these files.
  3374.  
  3375. =>   Note that a validated program is still subject to the conventional
  3376.      signature scanning.
  3377.  
  3378.  
  3379.      Heuristic Scanning
  3380.  
  3381.      If you have specified the option 'heuristic' it is likely that TbScan
  3382.      will find some files which look like a virus, and in this case TbScan
  3383.      uses the prefix 'Might be' to inform you about it. So, if TbScan dis-
  3384.      plays: 
  3385.  
  3386.           Probably infected by an unknown virus (level 1)
  3387.      or:
  3388.           Might be infected by an unknown virus (level 2) 
  3389.  
  3390.      it does not necessarily mean that the file is infected. There are a lot
  3391.      of files that look like a virus but are not.
  3392.  
  3393. =>   The heuristic levels are explained in section IV (page 9).
  3394.  
  3395.  
  3396.      False Positives
  3397.  
  3398. =>   Important!
  3399.      False alarms are part of the nature of heuristic scanning. In default
  3400.      mode it is very unlikely that TbScan issues a false alarm. However, if
  3401.  
  3402.                                      III - 20
  3403.  
  3404.  
  3405. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3406.  
  3407.  
  3408.      you have specified option 'heuristic' some false alarms might occur. How
  3409.      to deal with these false alarms? If TbScan thinks it has found a virus
  3410.      it tells you the reason for this suspicion. In most cases you will be
  3411.      able to evaluate these reasons when you consider the purpose of the
  3412.      suspected file.
  3413.  
  3414. =>   Note that viruses infect other programs. It is highly unlikely that you
  3415.      will find only a few infected files on a hard disk used frequently. You
  3416.      should ignore the result of a heuristic scan if only a few programs on
  3417.      your hard disk trigger it. But, if your system behaves in a 'strange'
  3418.      manner and many programs cause TbScan to issue an alarm with the same
  3419.      serious flags, your system could very well be infected by a (yet un-
  3420.      known) virus.
  3421.  
  3422.  
  3423.      Heuristic flags
  3424.  
  3425.      Heuristic flags consist of single characters that are printed behind the
  3426.      name of the file that has been processed. There are two kinds of flags:
  3427.      the informative ones are printed in lower-case characters; the more
  3428.      serious flags are printed in upper-case characters. 
  3429.  
  3430.      The lower-case flags are indicative of special characteristics of the
  3431.      file being processed, whereas the upper-case warnings may indicate a
  3432.      virus. If the 'loglevel' is 3 or above, the important warnings will not
  3433.      only appear as a warning character, but there will also be a description
  3434.      printed in the log file.
  3435.  
  3436.      How should you treat the flags? The less important lower-case flags can
  3437.      be considered to be for your information only.They provide you with file
  3438.      information you might find interesting. The more serious warning flags
  3439.      printed in upper-case MIGHT point towards a virus. It is quite normal
  3440.      that you have some files in your system which trigger an upper-case
  3441.      flag.
  3442.  
  3443.      The heuristic flag descriptions are listed in appendix B.
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.                                      III - 21
  3462.  
  3463.  
  3464. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3465.  
  3466.  
  3467. 2. TbScanX
  3468.  
  3469.  
  3470. 2.1. The Purpose of TbScanX
  3471.  
  3472.      TbScanX is the resident version of the TbScan program, checking files on
  3473.      the basis of a virus signature list. Suppose you have a virus scanner
  3474.      automatically executed from your autoexec.bat file. If no viruses are
  3475.      found, your system is supposed to be uninfected. But, to be sure that no
  3476.      virus will infect your system, you have to execute the scanner every
  3477.      time after copying a file to your harddisk, after downloading a file
  3478.      from a bulletin board system, or after unarchiving an archive such as a
  3479.      ZIP file. Be honest, do YOU actually invoke your scanner every time you
  3480.      introduce a new file into the system? If you don't, you take the risk
  3481.      that within a couple of hours all files are infected by a virus... 
  3482.  
  3483.      Once loaded, TbScanX will remain resident in memory, and will automati-
  3484.      cally scan all files you execute and all executable files you copy,
  3485.      create, download, modify, or unarchive. The same approach is used to
  3486.      protect against bootsector viruses: every time you put a diskette into a
  3487.      drive the bootsector will be scanned. If the disk is contaminated with a
  3488.      boot sector virus TbScanX will warn you in time!
  3489.  
  3490.      TbScanX is fully network compatible. It does not require to reload the
  3491.      scanner after logging on to the network. 
  3492.  
  3493.  
  3494. 2.2. How to use TbScanX
  3495.  
  3496.      Since TbScanX is memory resident, the program can be executed and
  3497.      configured from the command line or from within a batch file. It is
  3498.      important to load TbScanX as early as possible after the machine has
  3499.      booted. Therefore it is recommended to execute TbScanX from within the
  3500.      Config.Sys file.
  3501.  
  3502. =>   Note that TbScanX requires TbDriver to be loaded first!
  3503.  
  3504.  
  3505.      Loading TBScanX
  3506.  
  3507.      There are three possible ways to load TbScanX:
  3508.  
  3509.      1. From the DOS prompt or within the Autoexec.Bat file:
  3510.           <path>TbScanX
  3511.  
  3512.      2. From the Config.Sys as a TSR (Dos 4+):
  3513.           Install=<path>TbScanX.Exe 
  3514.  
  3515.      The "Install=" Config.Sys command is NOT available in DOS 3.xx.
  3516.  
  3517.      3. From the Config.Sys as a device driver:
  3518.           Device=<path>TbScanX.Exe
  3519.  
  3520.                                      III - 22
  3521.  
  3522.  
  3523. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3524.  
  3525.  
  3526.      Unlike other anti-virus products, the ThunderBYTE anti-virus utlities
  3527.      can be loaded before the network is started without loosing the protec-
  3528.      tion afterwards.
  3529.  
  3530.  
  3531.      Highload TBScanX
  3532.  
  3533.      In addition to the three invocation possibilities users of DOS 5 and
  3534.      higher versions can "highload" TbScanX in UMB (upper memory block) if it
  3535.      is available:
  3536.  
  3537.           LoadHigh <path>TbScanX.Exe
  3538.  
  3539.      Within the Config.Sys file TbScanX can also be loaded high:
  3540.  
  3541.           DeviceHigh=<path>TbScanX.Exe
  3542.  
  3543.  
  3544.      TbScanX and MS-Windows
  3545.  
  3546.      Windows users should load TbScanX BEFORE starting MS-Windows. If you do
  3547.      that there is only one copy of TbScanX in memory, but every DOS-window
  3548.      will nevertheless have a fully functional TbScanX in it. TbScanX detects
  3549.      if Windows is starting up, and will switch itself in multitasking mode
  3550.      if necessary. You can even disable TbScanX in one window without affec-
  3551.      ting the functionality in another window.
  3552.  
  3553.  
  3554. 2.3. Command line options
  3555.  
  3556.      TbScanx can be configured from the command line. The upper four options
  3557.      are always available, the other options are only available if TbScanX is
  3558.      not already resident in memory.
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570.  
  3571.  
  3572.  
  3573.  
  3574.  
  3575.  
  3576.  
  3577.  
  3578.  
  3579.                                      III - 23
  3580.  
  3581.  
  3582. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3583.  
  3584.  
  3585.      option  short  explanation
  3586.      --------------------------------------------------
  3587.  
  3588.      help      ?    display this helpscreen
  3589.      off       d    disable scanning
  3590.      on        e    enable scanning
  3591.      remove    r    remove TbScanX from memory
  3592.  
  3593.      noexec    n    never scan at execute
  3594.      allexec   a    always scan at execute
  3595.      noboot    b    do not scan bootsectors
  3596.      wild      w    only viruses which appear in the wild
  3597.      ems       me   use expanded memory (EMS)
  3598.      xms       mx   use extended memory (XMS)
  3599.      secure    s    deny access without asking
  3600.      lock      l    lock PC when virus detected
  3601.      api       i    load Application Program Interface
  3602.      compat    c    increased compatibility
  3603.  
  3604.  
  3605.      help (?)
  3606.      If you specify this option TbScanX will show you the commandline options
  3607.      as shown above. Once TbScanX has been loaded the help option will not
  3608.      show all options anymore.
  3609.  
  3610.      off (d)
  3611.      If you specify this option TbScanX will be disabled, but it will remain
  3612.      in memory.
  3613.  
  3614.      on (e)
  3615.      If you use this option TbScanX will be activated again after you dis-
  3616.      abled it with the 'off' option.
  3617.  
  3618.      remove (r)
  3619.      This option can be used to remove the resident part of TbScanX from your
  3620.      memory. All memory used by TbScanX will be released. Unfortunately,
  3621.      removing a TSR (like TbScanX) is not always possible. TbScanX checks
  3622.      whether it is safe to remove the resident part from memory, if it is not
  3623.      safe it just disables TbScanX. A TSR can not be removed if another TSR
  3624.      is started after it. If this happens with TbScanX it will completely
  3625.      disable itself. 
  3626.  
  3627.      compat (c)
  3628.      In most systems TbScanX performs troublefree. It is possible that
  3629.      TbScanX conflicts with other EMS or XMS using resident software. In this
  3630.      case the system will hang. Option 'compat' might solve this problem, but
  3631.      due to extensive memory swapping the performance of TbScanX will slow
  3632.      down.
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.                                      III - 24
  3639.  
  3640.  
  3641. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3642.  
  3643.  
  3644.      noexec (n)
  3645.      TbScanX normally scans files located on removable media just before they
  3646.      are executed. You can use this option to disable this feature complete-
  3647.      ly.
  3648.  
  3649.      allexec (a)
  3650.      TbScanX normally scans files to be executed only if they reside on
  3651.      removable media. Files on the harddisk are trusted, because these files
  3652.      must have been copied or downloaded before. And by that time TbScanX has
  3653.      already scanned them automatically. However if you want every file to be
  3654.      scanned before executing, no matter whether on harddisk or removable
  3655.      media, you should use this option.
  3656.  
  3657.      noboot (b)
  3658.      TbScanX monitors the disk system: every time the bootsector is being
  3659.      read, TbScanX automatically scans the disk for bootsector viruses. If
  3660.      you change a disk, the first thing DOS has to do is read the bootsector,
  3661.      otherwise it does not know what kind of disk is in the drive. And as
  3662.      soon as DOS reads the bootsector, TbScanX checks it for viruses. If you
  3663.      don't like this feature, or if it causes problems, you can switch it off
  3664.      using the 'noboot' option. This option will also save some memory
  3665.      because the bootsector signatures will not be loaded.
  3666.  
  3667.      wild (w)
  3668.      There are many viruses which do not appear 'in the wild'. They only run
  3669.      on ancient machines or DOS versions, or they are so buggy that they can
  3670.      only survive in 'virus-laboratory' environments. If you specify option
  3671.      'wild', TbScanX will only search for the viruses which appear in the
  3672.      wild, saving memory and time.
  3673.  
  3674.      secure (s)
  3675.      TbScanX normally asks the user to continue or to cancel when it detects
  3676.      a virus. In some business environments however this choice should not be
  3677.      made by employees. By using option 'secure' it is no longer possible to
  3678.      allow suspicious operations. Option 'secure' also disables option 'off'
  3679.      and 'remove'.
  3680.  
  3681.      lock (l) 
  3682.      System operators can use this option to instruct TbScanX to lock the
  3683.      system once a virus is detected.
  3684.  
  3685.      api (i)
  3686.      This option is intended for avanced users only. It enables the Applica-
  3687.      tion Program Interface of TbScanX which is needed if you want to call
  3688.      TbScanX from within your application. Consult the file Addendum.Doc for
  3689.      detailed programming information.
  3690.  
  3691.      ems (me)
  3692.      If you specify this option TbScanX will use expanded memory (like
  3693.      provided by LIM/EMS expansion boards or 80386 memory managers) to store
  3694.      the signatures and part of its program code. Since conventional memory
  3695.  
  3696.  
  3697.                                      III - 25
  3698.  
  3699.  
  3700. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3701.  
  3702.  
  3703.      is more valuable to your programs than expanded memory, the use of EMS
  3704.      memory is recommended.
  3705.  
  3706.      xms (mx)
  3707.      If you specify this option TbScanX will use extended memory to store the
  3708.      signatures and part of its program code. An XMS driver (like HIMEM.SYS)
  3709.      needs to be installed to be able to use this option. XMS memory is not
  3710.      directly accessable from within DOS, so every time TbScanX has to scan
  3711.      data it has to copy the signatures to conventional memory. 
  3712.  
  3713.      To be able to save the original memory contents TbScanX needs a double
  3714.      amount of XMS memory. Swapping to XMS is slower than swapping to EMS
  3715.      memory, so if you have EMS memory available swapping to EMS is recommen-
  3716.      ded. Swapping to XMS may conflict with some other software, so if you
  3717.      experience problems try using TbScanX without the XMS option. 
  3718.  
  3719.      Example
  3720.           Device=C:\utils\TbScanX.Exe xms noboot
  3721.  
  3722.  
  3723. 2.4. While scanning
  3724.  
  3725.      Whenever a program tries to write to an executable file (files with the
  3726.      extensions .COM and .EXE), you will briefly see the text "*Scanning*" in
  3727.      the upper left corner of your screen. Since TbScanX takes very little
  3728.      time to scan the file, the message will only appear very briefly. The
  3729.      text "*Scanning*" will also appear if you execute a program directly
  3730.      from a diskette, and if DOS accesses the bootsector of a diskette drive.
  3731.  
  3732.  
  3733.      Detecting Viruses
  3734.  
  3735.      If TbScanX detects a suspicious signature that is about to be written
  3736.      into a file, a window will appear with the message:
  3737.  
  3738.           WARNING, <filename> contains <virus name>!
  3739.           Abort? (Y/n)
  3740.  
  3741.      Press "N" to continue, press any other key to abort.
  3742.  
  3743.      If TbScanX detects a suspicious signature in a boot sector, it will
  3744.      display the message:
  3745.  
  3746.           WARNING, Disk in <drive> contains <virus name>!
  3747.           Press a key...
  3748.  
  3749.      Although a virus seems to be on the bootsector of the specified drive,
  3750.      the virus cannot do anything since it has not been executed yet. Howe-
  3751.      ver, if you reboot the machine with the contaminated diskette in the
  3752.      drive, the virus will copy itself to your harddisk.
  3753.  
  3754.  
  3755.  
  3756.                                      III - 26
  3757.  
  3758.  
  3759. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3760.  
  3761.  
  3762.      To display the name of the virus, TbScanX needs the signature file
  3763.      again. It will automatically use the signature file that was used when
  3764.      you invoked the program. If the signature file is missing (because you
  3765.      deleted it, or because you removed the  floppy containing it), or no
  3766.      file handles are left, TbScanX will still detect viruses, but it is no
  3767.      longer able to display the name of the virus. It will display [Name
  3768.      unknown] instead.
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775.  
  3776.  
  3777.  
  3778.  
  3779.  
  3780.  
  3781.  
  3782.  
  3783.  
  3784.  
  3785.  
  3786.  
  3787.  
  3788.  
  3789.  
  3790.  
  3791.  
  3792.  
  3793.  
  3794.  
  3795.  
  3796.  
  3797.  
  3798.  
  3799.  
  3800.  
  3801.  
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.                                      III - 27
  3816.  
  3817.  
  3818. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3819.  
  3820.  
  3821. 3. TbCheck
  3822.  
  3823.  
  3824. 3.1. The Purpose of TbCheck
  3825.  
  3826.      TbCheck is a memory-resident integrity checker, coming into action
  3827.      whenever a file is about to be executed. It uses the Anti-Vir.Dat
  3828.      records generated by TbSetup to detect file changes, often the first
  3829.      sign of a virus infection. These records contain information, such as
  3830.      file sizes and checksums, of every executable file in a directory. By
  3831.      comparing this information with the actual file status it is possible to
  3832.      detect any changes, including infections caused by viruses - automati-
  3833.      cally.
  3834.  
  3835.      Suppose you have a conventional integrity checker automatically invoked
  3836.      in your autoexec.bat file. If no files are changed, your system is
  3837.      supposed to be uninfected. But, to be sure that no virus can infect your
  3838.      system, you have to execute the checker frequently.
  3839.  
  3840.      Once loaded TbCheck will remain resident in memory, and will automa-
  3841.      tically check all programs you try to execute.
  3842.  
  3843.      TbCheck is fully network compatible. It does not require you to reload
  3844.      the checker after logged on to the network.
  3845.  
  3846.  
  3847. 3.2. How to use TbCheck
  3848.  
  3849.      Since TbCheck is a memory resident program, it can be executed and
  3850.      configured from the command line or from within a batch file. TbCheck
  3851.      should however be started automatically and as soon as the computer
  3852.      boots up, preferably during the execution of Config.Sys or Autoexec.Bat
  3853.      file. 
  3854.  
  3855. =>   Be sure TbDriver has already been loaded - TbCheck wil refuse to start
  3856.      up without it.
  3857.  
  3858.  
  3859.      Loading TbCheck
  3860.  
  3861.      There are three possible ways to start TbCheck:
  3862.        
  3863.      1. From the DOS prompt or within the Autoexec.Bat file:
  3864.           <path>TbCheck
  3865.  
  3866.      2. From the Config.Sys as a TSR (Dos 4+):
  3867.           Install=<path>TbCheck.Exe
  3868.  
  3869.      The "Install=" Config.Sys command is NOT available in DOS 3.xx.
  3870.  
  3871.      3. To invoke TbCheck from the Config.Sys as a device driver:
  3872.           Device=<path>TbCheck.Exe
  3873.  
  3874.                                      III - 28
  3875.  
  3876.  
  3877. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3878.  
  3879.  
  3880.      TbCheck should always work correctly after being started from within the
  3881.      Autoexec.Bat. Unlike other anti-virus products, the Thunderbyte anti-
  3882.      virus utilities can be loaded before the network is started without
  3883.      losing the protection after the network is started.
  3884.  
  3885.  
  3886.      Highload  TbCheck
  3887.  
  3888.      In addition to the three invocation possibilities DOS 5 users can
  3889.      "highload" TbCheck in a UMB (upper memory block) if it is available:
  3890.  
  3891.           LoadHigh <path>TbCheck.Exe
  3892.  
  3893.      Within the Config.Sys file TbCheck can also be loaded high:
  3894.  
  3895.           DeviceHigh=<path>TbCheck.Exe
  3896.  
  3897.  
  3898.      TbCheck and MS-Windows
  3899.  
  3900.      Windows users should load TbCheck BEFORE starting Windows. If you do
  3901.      that, there is only one copy of TbCheck in memory, but every DOS-window
  3902.      will nevertheless have a fully functional TbCheck in it.  TbCheck
  3903.      detects if Windows is starting up, and will switch itself into multitas-
  3904.      king mode if necessary. You can even disable TbCheck in one window
  3905.      without affecting the functionality in another window.
  3906.  
  3907.  
  3908. 3.3. Command line options
  3909.  
  3910.      It is possible to specify options on the command line. The upper four
  3911.      options are always available, the other options are available only if
  3912.      TbCheck is not memory resident.
  3913.  
  3914.  
  3915.      option  parameter short explanation
  3916.      ------  --------- ----- ------------------
  3917.  
  3918.      help               ?    display this helpscreen
  3919.      off                d    disable checking
  3920.      on                 e    enable checking
  3921.      remove             r    remove TbCheck from memory
  3922.  
  3923.      noavok [=<drives>] o    do not warn for missing AV record
  3924.      fullcrc            f    calculate full CRC (slow!)
  3925.      secure             s    do not execute unauthorized files
  3926.  
  3927.  
  3928.      help (?)
  3929.      If you specify this option TbCheck displays the above options list.
  3930.  
  3931.      off (d)
  3932.  
  3933.                                      III - 29
  3934.  
  3935.  
  3936. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3937.  
  3938.  
  3939.      Disables TbCheck, but it will remain in memory and can be reactivated.
  3940.  
  3941.      on (e)
  3942.      TbCheck will be reactivated after having been disabled with the 'off'
  3943.      option.
  3944.  
  3945.      remove (r)
  3946.      This option disables TbCheck and will try to remove the resident part
  3947.      from memory. Unfortunately, this can only work if TbCheck was loaded
  3948.      last. An attempt to remove a TSR after another TSR has been started will
  3949.      simply leave a useless gap in memory and could disrupt the interrupt
  3950.      chain. TbCheck will try to find out whether it is safe to remove its
  3951.      resident code; if not, it will simply disable itself. 
  3952.  
  3953.      noavok (o)
  3954.      TbCheck will look for checksum information on the file you want to be
  3955.      checked in the Anti-Vir.Dat file. TbCheck will display a message if no
  3956.      checksum information is found or if the specific checksum is incorrect.
  3957.      This makes sure that you will receive a warning whenever a malicious
  3958.      program deletes the Anti-Vir.Dat file. 
  3959.  
  3960.      Although it is recommended to maintain Anti-Vir.Dat files on all drives,
  3961.      this may not always be practical with floppy disks, RAM disks or CD-ROM
  3962.      disks. Option 'noavok' tells TbCheck not to look for an Anti-Vir.Dat on
  3963.      specific drives. For instance, if you don't want to be alerted about the
  3964.      absence of an Anti-Vir.Dat record on floppy disks (A: and B:) or on your
  3965.      RAM disk (E:) you should specify:
  3966.  
  3967.           "NoAvOk=ABE"
  3968.  
  3969.      If you don't want a message if an Anti-Vir.Dat record is missing on
  3970.      network drives, you should specify an asterisk (*) instead of a drive
  3971.      letter.
  3972.  
  3973.      If you don't specify a drive to the 'noavok' option, TbCheck will never
  3974.      issue a warning if an Anti-Vir record is missing on any drive. 
  3975.  
  3976. =>   Note that this presents a security hole for viruses: by deleting the
  3977.      Anti-Vir.Dat file you will not be able to detect file changes caused by
  3978.      a viral infection.
  3979.  
  3980. =>   Please note that the 'noavok' option does not do anything to prevent the
  3981.      detection of infected programs if the Anti-Vir record is available. If a
  3982.      program has been changed and the Anti-Vir record is available, you will
  3983.      still get an alarm regardless of how option 'noavok' was implemented.
  3984.  
  3985.      fullcrc (f)
  3986.      By default, TbCheck only verifies that part of the file near the pro-
  3987.      gram's entry point. If a virus infects the file, this area is guaranteed
  3988.      to change, so this is perfectly adequate to detect all infections. Other
  3989.      file changes, notably configuration variations, will not trigger the
  3990.      alarm. If, however, you should ever desire a full check that detects any
  3991.  
  3992.                                      III - 30
  3993.  
  3994.  
  3995. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  3996.  
  3997.  
  3998.      file changes, this option will take care of it. Note that this slows
  3999.      down the system considerably - this option is not recommended for normal
  4000.      (anti-virus) usage! 
  4001.  
  4002.      secure (s)
  4003.      TbCheck normally asks whether the user wants to continue or cancel when
  4004.      a file has been changed or when there is no checksum information availa-
  4005.      ble. In a business environment it may be unwise to leave such decisions
  4006.      to employees. Option 'secure' makes it impossible to execute new or
  4007.      unknown programs, or programs that have been changed. Option 'secure'
  4008.      also disables option 'off' and 'remove'.
  4009.  
  4010.  
  4011. 3.4. While checking
  4012.  
  4013.      Whenever a program wants to execute, TbCheck steps in to see if it
  4014.      really has the authority to do so. During that time it will display
  4015.      '*Checking*' in the screen's upper left hand corner. TbCheck operates at
  4016.      lightning speed, therefore the message will appear only momentarily. 
  4017.  
  4018.      Since TbCheck does not take much time to check the file, you will see
  4019.      the message only in a short notice of time.
  4020.  
  4021.  
  4022.      Detecting File Changes
  4023.  
  4024.      TbCheck quickly checks a program when that program is loaded. If TbCheck
  4025.      detects that a file has been changed, a pop-up window will appear to
  4026.      inform you. You can either choose to continue, or to abort the program
  4027.      invocation.
  4028.  
  4029.      If there is no information (Anti-Vir.Dat) about the program, TbCheck
  4030.      will inform you about this too. You can either choose to continue
  4031.      without checking, or to abort the program invocation. 
  4032.  
  4033. =>   Note that you can prevent users from executing non authorized software
  4034.      by combining the TbCheck command with the 'secure' option.
  4035.  
  4036.  
  4037. 3.5. Testing TbCheck
  4038.  
  4039.      Many people understandably wish to test the product they are using. In
  4040.      contrast with, for instance, a word processor, it is very difficult to
  4041.      test a smart integrity checker like TbCheck. You cannot change a random
  4042.      25 bytes of an executable file just to find out whether or not TbCheck
  4043.      will detect the file change. On the contrary, it is very likely that
  4044.      TbCheck will NOT detect it because the program only checks the entry-
  4045.      area of the file whereas the changed bytes might be located on another
  4046.      location within the file.
  4047.  
  4048.  
  4049.  
  4050.  
  4051.                                      III - 31
  4052.  
  4053.  
  4054. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4055.  
  4056.  
  4057. 4. TbClean
  4058.  
  4059.  
  4060. 4.1. The Purpose of TbClean
  4061.  
  4062.      TbClean isolates viral code in an infected program and removes it. From
  4063.      then on it will be safe to use the program again, as the risk of other
  4064.      files being infected or damaged by it will have been securely elimina-
  4065.      ted.
  4066.  
  4067.  
  4068.      Generic Cleaners
  4069.  
  4070.      TbClean works completely different compared to 'conventional cleaners.
  4071.      First of all, it does not recognize any virus. Its disinfection scheme
  4072.      is completely different and it works with almost any virus. Actually,
  4073.      the TbClean program contains two cleaners: a 'repair' cleaner, and a
  4074.      'heuristic' cleaner. The repair cleaner needs an Anti-Vir.Dat file that
  4075.      is generated by the TbSetup program before the infection occurs. In this
  4076.      Anti-Vir.Dat file essential information is stored, like the original
  4077.      file size, the bytes at the beginning of the program, a cryptographic
  4078.      checksum to verify the results, etc. This information enables TbClean to
  4079.      disinfect almost every file, regardless of the virus it has been infec-
  4080.      ted with, known or unknown. 
  4081.  
  4082.  
  4083.      No information available?
  4084.  
  4085.      In the heuristic cleaning mode TbClean does not need any information
  4086.      about viruses either, but it has the added advantage that it does not
  4087.      even care about the original, uninfected state of a program. This
  4088.      cleaning mode is very effective if your system is infected with an
  4089.      unknown virus and yo neglected to let TbSetup generate the Anti-Vir.Dat
  4090.      files in time.
  4091.  
  4092.      In the heuristic mode, TbClean loads the infected file and starts
  4093.      emulating the program code to find out which part of the file belongs to
  4094.      the original program and which to the virus. The result is successful if
  4095.      the functionality of the original program is restored, and the functio-
  4096.      nality of the virus has been reduced to zero. 
  4097.  
  4098. =>   Note that this does not imply that the cleaned file is 100% equal to the
  4099.      original.
  4100.  
  4101.      When TbClean uses heuristic cleaning to disinfect the program, the file
  4102.      will most likely not be exactly the same as in its original state. This
  4103.      is not an indication of failure of TbClean, nor does it mean the file is
  4104.      still infected in some way. First of all, it is normal that the heuris-
  4105.      tically cleaned file is still larger than the original. This is normal
  4106.      because TbClean tries to be on the safe side and it will avoid removing
  4107.      too much. The bytes left at the end of the file are 'dead' code, the
  4108.      instructions will never be executed again since the 'jump' at the
  4109.  
  4110.                                      III - 32
  4111.  
  4112.  
  4113. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4114.  
  4115.  
  4116.      beginning of the program has been removed. If the cleaned file is an EXE
  4117.      type file, it is likely that some bytes in front of the program - the
  4118.      exeheader - are different. There are many suitable solutions to recon-
  4119.      struct the exeheader, and TbClean can of course never know the original
  4120.      state of the program. The functionality of the cleaned file will never-
  4121.      theless be the same! 
  4122.  
  4123. =>   Note that this only applies to heuristic cleaning: if there is a suit-
  4124.      able Anti-Vir.Dat record available, the cleaned program will normally be
  4125.      exactly the same as the original clean file.
  4126.  
  4127.      It is possible that the infected file is infected with multiple viruses,
  4128.      or multiple instances of the same virus! Some viruses keep on infecting
  4129.      files, and in such case the infected files will keep growing. If TbClean
  4130.      used its heuristic cleaning mode, it is very likely that TbClean removed
  4131.      only one instance of the virus. In this case, it is necessary to repeat
  4132.      the cleaning process until TbClean reports that it can not remove
  4133.      anything anymore.
  4134.  
  4135.  
  4136. 4.2. How to use TbClean
  4137.  
  4138.      After tracking one or more viruses, all you should do is select the
  4139.      'Start cleaning' option in the TbClean menu. After specifying the
  4140.      relevant filename, TbClean will come into action. Beforehand, TbClean
  4141.      allows some additional parameters. These parameters are discussed below.
  4142.  
  4143.  
  4144.      The TbClean menu
  4145.  
  4146.      You can execute TbClean in combination with some useful parameters,
  4147.      which are listed in the TbClean menu. You can activate these parameters
  4148.      by toggling the selection bar to the desired option and type <ENTER>. A
  4149.      checkmark indicates that the specific parameter is ON.
  4150.  
  4151.  
  4152.      +----Main menu-----+
  4153.      |  Confi+-----TbClean menu-----+
  4154.      |  TbSet|  Start cleaning      |
  4155.      |  TbSca|  List-file name      |
  4156.      |  TbUti|  Use TBAV.INI file   |
  4157.      |  TbCLe|  Prompt for pause    |
  4158.      |  TBAV |v Use Anti-Vir.Dat    |
  4159.      |  Docum|v Use Heuristics      |
  4160.      |  Regis|v Expanded memory     |
  4161.      |  Quit |  Show program loops  |
  4162.      |  eXit |  Make list file      |
  4163.      +-------+----------------------+
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.                                      III - 33
  4170.  
  4171.  
  4172. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4173.  
  4174.  
  4175.      List-file name 
  4176.  
  4177.      By selecting this option you may specify a filename to be used as list-
  4178.      file (see also option 'make list-file'). 
  4179.  
  4180.  
  4181.      Use TBAV.INI file
  4182.  
  4183.      By enabling this option, the TbClean configuration values, saved in the
  4184.      TBAV.INI file, will also be valid when loading TbClean from the command
  4185.      line. Be careful, since options specified in the TBAV.INI file can not
  4186.      be undone on the command line. See chapter I-2 ('Configuration').
  4187.  
  4188.  
  4189.      Prompt for pause 
  4190.  
  4191.      TbClean will stop disassembling information after each full screen to
  4192.      let you examine the results.
  4193.  
  4194.  
  4195.      Use Anti-Vir.Dat 
  4196.  
  4197.      If this option is deselected, TbClean will act as if there were no Anti-
  4198.      Vir.Dat records available and will therefore perform heuristic cleaning.
  4199.  
  4200.  
  4201.      Use Heuristics
  4202.  
  4203.      If this option is deselected, TbClean will not try to apply heuristic
  4204.      cleaning, even when there are no Anti-Vir.Dat records available.
  4205.  
  4206.  
  4207.      Show program loops
  4208.  
  4209.      By default TbClean keeps track of looping conditions to keep an iterati-
  4210.      on that would be emulated thousands of times from being listed on your
  4211.      screen. With this option TbClean 'works out' every loop. 
  4212.  
  4213. =>   Note that TbClean will perform at a drastically reduced speed. Do not
  4214.      combine this option with the 'list' option, because the list file might
  4215.      grow too big.
  4216.  
  4217.  
  4218.      Expanded memory
  4219.  
  4220.      If activated, TbClean will detect the presence of expanded memory and
  4221.      will use it in heuristic mode. You may disable EMS usage if it is too
  4222.      slow, or if your expanded memory manager is not very stable.
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.                                      III - 34
  4229.  
  4230.  
  4231. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4232.  
  4233.  
  4234.      Make list file 
  4235.  
  4236.      TbClean will generate an output file with a chronological disassembly of
  4237.      the virus being removed. 
  4238.  
  4239.  
  4240. 4.3. Command line options
  4241.  
  4242.      TbClean recognizes option short-keys and option words. The words are
  4243.      easier to memorize, and they will be used in this manual for convenien-
  4244.      ce.
  4245.  
  4246.  
  4247.      option     parameter        short explanation
  4248.      ---------------------------------------------------------------
  4249.      help                         he   help (-? = short help)
  4250.      pause                        pa   enable 'Pause' prompt
  4251.      mono                         mo   force monochrome
  4252.      noav                         na   do not use Anti-Vir.Dat record
  4253.      noheur                       nh   do not use heuristic cleaning
  4254.      noems                        ne   do not use expanded memory
  4255.      showloop                     sl   show every loop iteration
  4256.      list       [=<filename>]     li   create list file
  4257.  
  4258.  
  4259.      Below, all command line options are explained briefly.
  4260.  
  4261.      help (he)
  4262.      If you specify this option TbClean displays the contents of the TBCLE-
  4263.      AN.HLP file if it is available in the home directory of TbClean.  If you
  4264.      specify the '?' option you will get the summarized help info as listed
  4265.      above.
  4266.  
  4267.      pause (pa)
  4268.      TbClean will stop disassembling information after each full screen to
  4269.      let you examine the results.
  4270.  
  4271.      mono (mo)
  4272.      This option forces TbClean to refrain from using colors in the screen
  4273.      output. This might enhance the screen output on some LCD screens or
  4274.      color-emulating monochrome systems.
  4275.  
  4276.      noav (na)
  4277.      If this option is specified, TbClean will act as if there were no Anti-
  4278.      Vir.Dat records available and will therefore perform heuristic cleaning.
  4279.  
  4280.      noheur (nh)
  4281.      If this option is specified, TbClean will not try to apply heuristic
  4282.      cleaning, even when there are no Anti-Vir.Dat records available.
  4283.  
  4284.  
  4285.  
  4286.  
  4287.                                      III - 35
  4288.  
  4289.  
  4290. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4291.  
  4292.  
  4293.      noems (ne)
  4294.      If specified, TbClean will not detect the presence of expanded memory
  4295.      and will use it in heuristic mode. You may disable EMS usage if it is
  4296.      too slow, or if your expanded memory
  4297.      manager is not very stable.
  4298.  
  4299.      showloop (sl)
  4300.      By default TbClean keeps track of looping conditions to keep an iterati-
  4301.      on that would be emulated thousands of times from being listed on your
  4302.      screen. With this option TbClean 'works out' every loop. 
  4303.  
  4304. =>   Note that TbClean will perform at a drastically reduced speed. Do not
  4305.      combine this option with the 'list' option, because the list file might
  4306.      grow too big.
  4307.  
  4308.      list [=<filename>] (li)
  4309.      TbClean will generate an output file with a chronological disassembly of
  4310.      the virus being removed. 
  4311.  
  4312.      Examples
  4313.           TbClean VIRUS.EXE
  4314.  
  4315.      TbClean will make a backup with the name VIRUS.VIR and it will disinfect
  4316.      VIRUS.EXE
  4317.  
  4318.           TbClean VIRUS.EXE TEST.EXE
  4319.  
  4320.      TbClean will copy VIRUS.EXE to TEST.EXE and disinfect
  4321.      TEST.EXE
  4322.  
  4323.  
  4324. 4.4. The cleaning process
  4325.  
  4326.      Choose 'Start cleaning' in the TBAV menu. Now you specify the name of
  4327.      the file that has to be cleaned. Suppose you want an infected program
  4328.      file named 'virus.exe' to be cleaned:
  4329.  
  4330.      Enter name of program to clean. TbClean will create a backup first!
  4331.                C:\VIRUS\VIRUS.EXE 
  4332.  
  4333.      The ThunderBYTE utility cleans on a file-by-file approach: clean one
  4334.      file, verify the result, and proceed with the next file. This helps you
  4335.      to keep track of which file is clean, which file is damaged and should
  4336.      be restored from a backup, and which
  4337.      file is still infected.
  4338.  
  4339.      Enter name of cleaned file. Keep blank if infected program may be
  4340.      changed.
  4341.                C:\VIRUS\TEST.EXE
  4342.  
  4343.      By specifying a different name (eg. 'test.exe') you indicate that the
  4344.      cleaned file may not overwrite the original .exe file. In this example
  4345.  
  4346.                                      III - 36
  4347.  
  4348.  
  4349. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4350.  
  4351.  
  4352.      TbClean will copy VIRUS.EXE to TEST.EXE and disinfect TEST.EXE. Next,
  4353.      TbClean will start the cleaning process.  
  4354.  
  4355.      If you do not specify a backup filename, TbClean will create a backup
  4356.      with the '.vir' extension (eg. VIRUS.VIR) and it will disinfect the .exe
  4357.      file.
  4358.  
  4359.  
  4360.      +-----------------------------------------------------------------+
  4361.      |  Thunderbyte clean utility v6.03 (C) 1992-93 Thunderbyte B.V.   |
  4362.      +---------Infected state----------++---------Original state-------+
  4363.      | Entry point (CS:IP)   34BF:0012 || Entry point (CS:IP) 34BF:0012|
  4364.      | File length                     || File length         UNKNOWN! |
  4365.      | Cryptographic CRC     9F90F52A  || Cryptographic CRC   UNKNOWN! |
  4366.      +---------------------------------++------------------------------+
  4367.      |                                                                 |
  4368.      | Starting clean attempt. Analyzing infected file...              |
  4369.      | Anti-Vir not found: original state unknown. Trying emulation... |
  4370.      | Emulation terminated:                                           |
  4371.      |                                                                 |
  4372.      | C:\VIRUS\TEST.EXE                                               |
  4373.      | CS:IP    Instruction     AX  BX  CX  DX  DS  SI  ES  DI  SS  SP |
  4374.      | 9330:0101  mov ah,40    FFFE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
  4375.      | 9330:0103  mov bx,0002  40FE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
  4376.      | 9330:0106  mov cx,0016  40FE0002FFFFEFFFD382FFEDEFFEFFFF9520007E|
  4377.      | 9330:0109  mov dx,cs    40FE00020016EFFFD382FFEDEFFEFFFF9520007E|
  4378.      | 9330:010B  mov ds,dx    40FE000200169330D382FFEDEFFEFFFF9520007E|
  4379.      | 9330:010D  mov dx,0117  40FE0002001693309330FFEDEFFEFFFF9520007E|
  4380.      | 9330:0110  int 21       40FE0002001601179330FFEDEFFEFFFF9520007E|
  4381.      | 9330:0112  mov ax,4CFF  40FE0002001601179330FFEDEFFEFFFF9520007E|
  4382.      | 9330:0115  int 21       4CFF0002001601179330FFEDEFFEFFFF9520007E|
  4383.      | 9330:0115  <End of emulation>                                   |
  4384.      +-----------------------------------------------------------------+ 
  4385.  
  4386.      While Cleaning
  4387.  
  4388.      TbClean will display as much information as possible about the current
  4389.      operation, as illustrated above. All the major actions will be in the
  4390.      emulation window, displaying a disassembly and the register contents of
  4391.      the program under scrutiny, along with a progress report. The status
  4392.      windows reveal useful details of the infected file and, if TbClean can
  4393.      find a suitable Anti-Vir.Dat file, its original status. You may abort
  4394.      the cleaning process by pressing <Ctrl-Break>.
  4395.  
  4396.  
  4397.      The job isn't done yet    
  4398.  
  4399.      A successful purge is not the end of the story! Your job is only parti-
  4400.      ally completed. Some viruses damage data files. They could randomly
  4401.      change bytes on your disks, swap sectors, or perform other nasty tricks.
  4402.      A cleaning utility will never be able to repair your data! Check your
  4403.      data files thoroughly and consult a viral expert to find out what the
  4404.  
  4405.                                      III - 37
  4406.  
  4407.  
  4408. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4409.  
  4410.  
  4411.      virus is capable of doing. If there is any doubt, restoring the data is
  4412.      definitely the most reliable option.
  4413.  
  4414. =>   Under no circumstances should you continue to use cleaned software!
  4415.  
  4416.      Cleaning is a temporary solution to allow you to delay a large restore
  4417.      operation until the first available slack period. You should not rely on
  4418.      a cleaned program for any length of time.  Please, don't take this as a
  4419.      put down of antiviral cleaning agents. If your data is valuable to you,
  4420.      you should care for it as much as possible, and sticking to original
  4421.      software only is no more than an elementary precaution. In other words,
  4422.      restore the original programs as soon as possible!
  4423.  
  4424.  
  4425.      Cleaning Limitations
  4426.  
  4427.      Although TbClean has a very high success rate and is able to clean
  4428.      programs that other cleaners refuse to process, not all viruses can be
  4429.      removed, and not all files can be cleaned. 
  4430.  
  4431.      Viruses that cannot be removed from an infected file:
  4432.  
  4433.      Overwriting viruses. 
  4434.  
  4435.      This type of virus does not add itself to the end of the original
  4436.      program, they just copy themselves over the original file. They do not
  4437.      attempt to start the original program but they will simply return you to
  4438.      DOS after they are activated or will hang the machine. Since the origi-
  4439.      nal file is overwritten and damaged, no cleaner can remove the virus. 
  4440.  
  4441.      Some encrypted viruses. 
  4442.  
  4443.      TbClean is usually able to decrypt the virus. However, some viruses use
  4444.      anti-debugger features that TbClean cannot cope with yet. 
  4445.  
  4446.  
  4447.      The way some program files are constructed makes them impossible to
  4448.      clean and reinstatement will be the only option. This category includes:
  4449.  
  4450.      EXE-programs with internal overlays. 
  4451.  
  4452.      TbScan marks these files with an 'i' flag. Any infection is bound to
  4453.      cause major damage to these files. Some viruses recognize such programs
  4454.      and do not infect them, but most viruses infect these programs anyway,
  4455.      and corrupt the program. No cleaner can repair such damage.
  4456.  
  4457.      Programs with sanity check routines. 
  4458.  
  4459.      Some programs - mostly anti-virus software or copy-protected programs -
  4460.      perform some kind of sanity check. Heuristic cleaning of an infected
  4461.      program normally results in a program that is not physically identical
  4462.      to the original. Although the virus is removed from the program and the
  4463.  
  4464.                                      III - 38
  4465.  
  4466.  
  4467. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4468.  
  4469.  
  4470.      program is functionally identical to the original, the sanity check will
  4471.      usually detect the slight changes and abort the program.
  4472.  
  4473.  
  4474.      Multiple files cleaning
  4475.  
  4476.      TbClean has no provisions for cleaning multiple programs in one run.
  4477.      There are two reasons for this omission:
  4478.  
  4479.      -    TbClean can not search for viruses automatically since it does not
  4480.           know any virus.
  4481.  
  4482.      -    We highly recommend to clean the system on a file-by-file approach.
  4483.           Clean one file, verify the result, and proceed with the next file.
  4484.           This helps you to keep track of which file is clean, which file is
  4485.           damaged and should be restored from a backup, and which file is
  4486.           still infected.
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.  
  4495.  
  4496.  
  4497.  
  4498.  
  4499.  
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.  
  4506.  
  4507.  
  4508.  
  4509.  
  4510.  
  4511.  
  4512.  
  4513.  
  4514.  
  4515.  
  4516.  
  4517.  
  4518.  
  4519.  
  4520.  
  4521.  
  4522.  
  4523.                                      III - 39
  4524.  
  4525.  
  4526. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4527.  
  4528.  
  4529. 5. Ongoing virus prevention: TbMon
  4530.  
  4531.      The Purpose of TbMon utilities
  4532.  
  4533.      TbMon is a set of three memory resident anti-virus utilities:
  4534.  
  4535.      TbMem     Detects attempts of programs to remain resident in 
  4536.                                                                  memory, and
  4537.                makes sure that no program can remain resident in memory
  4538.                without permission.
  4539.  
  4540.      TbFile    detects attempts of programs to infect other programs. 
  4541.  
  4542.      TbDisk    detects attempts of programs to write directly to the disk
  4543.                (without using DOS), attempts to format, etc.
  4544.  
  4545.      Instructions on how to use these utilities are presented below. 
  4546.  
  4547.  
  4548.      How to use TbMon programs
  4549.  
  4550.      Loading TBMon programs
  4551.      The TbMon programs are all loaded in the same way. For specific informa-
  4552.      tion on each of the programs, such as commandline options, please refer
  4553.      to the appropriate sections in this chapter.
  4554.  
  4555.      There are three possible ways to start the TbMon programs:
  4556.  
  4557.      From the DOS prompt or within the Autoexec.Bat file:
  4558.           <path>Tbxx
  4559.  
  4560.      From the Config.Sys as a TSR (Dos 4+):
  4561.           Install=<path>Tbxxx.Exe
  4562.  
  4563.      The "Install=" Config.Sys command is NOT available in DOS 3.xx.
  4564.  
  4565.      To invoke a TbMon program from the Config.Sys as a device driver:
  4566.           Device=<path>Tbxxx.Exe
  4567.  
  4568.  
  4569.      A TbMon program should always work correctly after being started from
  4570.      within the Autoexec.Bat. Unlike other anti-virus products, the Thunder-
  4571.      byte anti-virus utilities can be loaded before the network is started
  4572.      without losing the protection after the network is started.
  4573.  
  4574.  
  4575.      Highload TBMon programs
  4576.  
  4577.      In addition to the three invocation possibilities DOS 5 users can
  4578.      "highload" TbMon programs in a UMB (upper memory block) if it is availa-
  4579.      ble:
  4580.  
  4581.           LoadHigh <path>Tbxxx.Exe
  4582.  
  4583.                                      III - 40
  4584.  
  4585.  
  4586. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4587.  
  4588.  
  4589.  
  4590.      Within the Config.Sys file a TbMon program can also be loaded high:
  4591.  
  4592.           DeviceHigh=<path>Tbxxx.Exe
  4593.  
  4594.  
  4595.      TBMon and MS-Windows
  4596.  
  4597.      Windows users should load a TbMon program BEFORE starting Windows. If
  4598.      you do that there is only one copy of the TbMon program in memory, but
  4599.      every DOS-window will nevertheless have the fully functional TbMon
  4600.      program in it. The TbMon program detects if Windows is starting up, and
  4601.      will switch itself into multitasking mode if necessary. You can even
  4602.      disable the program in one window without affecting the functionality in
  4603.      another window.
  4604.  
  4605.  
  4606.      Command line options
  4607.  
  4608.      All TbMon utilities can be loaded in combination with several options.
  4609.      You may specify the options listed below in combination with all three
  4610.      utilities. The specific options are described in the relevant sections.
  4611.  
  4612.      help (?)
  4613.      If you specify this option the TbMon program will show you the brief
  4614.      help as shown above.
  4615.  
  4616.      off (d)
  4617.      If you specify this option the TbMon program will be disabled, but it
  4618.      will remain in memory.
  4619.  
  4620.      on (e)
  4621.      If you use this option the TbMon program will be activated again after
  4622.      you disabled it with the 'off' option.
  4623.  
  4624.      remove (r)
  4625.      This option can be used to remove the resident part of the TbMon program
  4626.      from your system's memory. All memory used by the TbMon program will be
  4627.      released. Unfortunately, the removal of a TSR is not always possible. 
  4628.      The TbMon program checks whether it is safe to remove the resident part
  4629.      from memory. If it is not safe it just disables the TbMon program. A TSR
  4630.      can not be removed if another TSR has been started after it. If this
  4631.      happens with the TbMon program, it will completely disable itself.
  4632.  
  4633.      secure (s)
  4634.      If you specify this option, the user is not allowed to give permission.
  4635.      All warnings are automatically answered with 'Abort'. It is also not
  4636.      possible anymore to unload the utilities with 'remove' or to disable
  4637.      them with option 'off'.
  4638.  
  4639.  
  4640. 5.1. TbMem
  4641.  
  4642.                                      III - 41
  4643.  
  4644.  
  4645. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4646.  
  4647.  
  4648.      The Purpose of TbMem
  4649.  
  4650.      Most viruses remain resident in memory once they have been executed.
  4651.      While resident in memory, they may have many opportunities to infect
  4652.      other files in the background, interfere with the system operation, hide
  4653.      themselves from virus scanners or checksummers, and/or perform other
  4654.      nasty tasks.
  4655.  
  4656.      On the other hand, because so many viruses remain resident in memory, it
  4657.      is easy to detect most of them once the process of becoming resident in
  4658.      memory is monitored.
  4659.  
  4660.      TbMem monitors the system and ensures that no program will remain
  4661.      resident in memory without permission. This will draw attention to any
  4662.      software that attempts to remain resident, thereby reducing the likeli-
  4663.      hood that a virus will be able to go unnoticed. TbMem also protects
  4664.      CMOS.
  4665.  
  4666.  
  4667.      What is a memory-resident program?
  4668.  
  4669.      Most programs will be invoked by a command on the DOS command line,
  4670.      perform some task, and finally terminate, placing you right back where
  4671.      you started.
  4672.       
  4673.      Some programs however continue to operate after they are terminated.
  4674.      These programs load themselves into memory of your PC, remain resident
  4675.      in the memory and perform some task in the background. Programs in this
  4676.      category are disk caches, print spoolers, network software, etc. These
  4677.      programs are often referred to as 'TSR-software', which means 'Termina-
  4678.      te-and-Stay-Resident'.
  4679.  
  4680.      Most viruses remain resident in memory too, and that is why the process
  4681.      of becoming resident in memory should be controlled in some way, prefe-
  4682.      rably by TbMem.
  4683.  
  4684.      TbMem offers you the option to abort the program before it can become
  4685.      resident. TbMem will guard the DOS TSR function calls, while also
  4686.      monitoring important interrupts and memory structures. TbMem uses the
  4687.      Anti-Vir.Dat records to determine whether a program is allowed to remain
  4688.      resident in memory.
  4689.  
  4690.      Many common TSRs will be recognized by TbSetup. However, if TbSetup
  4691.      doesn't recognize a TSR, TbMem will ask your permission for the TSR to
  4692.      load. Permission information will be maintained in the Anti-Vir.Dat
  4693.      files, to prevent TbMem from bothering you when an approved TSR is
  4694.      loading.
  4695.  
  4696.      TbMem will also check the contents of the CMOS configuration memory
  4697.      after each program termination, to make sure that programs do not change
  4698.      it unnoticed. TbMem offers the possibility to restore the CMOS configu-
  4699.      ration when it has been changed. Once you have 'taught' TbMem which
  4700.  
  4701.                                      III - 42
  4702.  
  4703.  
  4704. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4705.  
  4706.  
  4707.      programs are TSRs and which are not on one PC, you can use TbSetup to
  4708.      set the permission flag of these files on other machines.
  4709.  
  4710.      TbMem installs a hot key that can be used to escape from nearly all
  4711.      programs.
  4712.  
  4713.      TbMem is fully network compatible. It does not require you to reload the
  4714.      checker after logging on to a network. 
  4715.  
  4716.  
  4717.      How to use TbMem
  4718.  
  4719.      Since TbMem is a memory resident program, it can be executed and confi-
  4720.      gured from the command line or from within a batch file. TbMem should
  4721.      however be started automatically and as soon as the computer boots up,
  4722.      preferably during the execution of Config.Sys or Autoexec.Bat file. 
  4723.  
  4724.      Be sure TbDriver has already been loaded - TbMem wil refuse to start up
  4725.      without it.
  4726.  
  4727.  
  4728.      Command line options
  4729.  
  4730.      It is possible to specify options on the command line. The upper four
  4731.      options are always available, the other options are available only if
  4732.      TbMem is not memory resident.
  4733.  
  4734.  
  4735.      option  parameter      short explanation
  4736.      --------------------------------------------------------------
  4737.      help                    ?    display this helpscreen
  4738.      off                     d    disable checking
  4739.      on                      e    enable checking
  4740.      remove                  r    remove TbMem from memory
  4741.  
  4742.      secure                  s    do not execute unauthorized TSRs 
  4743.      hotkey  <keycode>       k    specify keyboard scancode for hotkey
  4744.      nocancel                n    do not install cancel hot key
  4745.      nocmos                  m    do not protect CMOS
  4746.  
  4747.  
  4748.      help (?)
  4749.      If you specify this option TbMem will show you the brief help as shown
  4750.      above.
  4751.  
  4752.      off (d)
  4753.      If you specify this option TbMem will be disabled, but it will remain in
  4754.      memory.
  4755.  
  4756.      on (e)
  4757.      If you use this option TbMem will be activated again after you disabled
  4758.      it with the 'off' option.
  4759.  
  4760.                                      III - 43
  4761.  
  4762.  
  4763. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4764.  
  4765.  
  4766.      remove (r)
  4767.      This option can be used to remove the resident part of TbMem from your
  4768.      system's memory. All memory used by TbMem will be released. Unfortunate-
  4769.      ly, the removal of a TSR (like TbMem) is not always possible. TbMem
  4770.      checks whether it is safe to remove the resident part from memory. If it
  4771.      is not safe it just disables TbMem. A TSR can not be removed if another
  4772.      TSR has been started after it. If this happens with TbMem it will
  4773.      completely disable itself.
  4774.  
  4775.      secure (s)
  4776.      TbMem normally asks the user to continue or to cancel when a program
  4777.      tries to remain resident in memory. In some business environments
  4778.      however this choice should not be made by employees. By using option
  4779.      'secure' it is no longer possible to execute new or unknown resident
  4780.      software. It is also no longer possible to use option 'remove' or 'off'.
  4781.  
  4782.      nocancel (n)
  4783.      TbMem normally installs the program cancel hot key (Ctrl-Alt-Insert). If
  4784.      you do not want this, specify this option. This also saves a few bytes
  4785.      of memory.
  4786.  
  4787.      hotkey (k)
  4788.      TbMem offers you a reliable way to escape from any program by pressing a
  4789.      special key combination. This can be used to escape from programs that
  4790.      'hang', but of course also to escape from software that seems to be
  4791.      malicious (although powering down and rebooting from a write-protected
  4792.      system disk is recommended). 
  4793.  
  4794.      The program cancel hot key of TbMem is by default Ctrl-Alt-Insert. If
  4795.      you wish, you can specify another keyboard option with option 'hotkey
  4796.      =<keycode>'. The scancode is specified in a 4 digit hexadecimal number.
  4797.      The far left bytes specify the shift-key mask, the far right bytes
  4798.      specify the keyboard scancode. Consult your machine manual for a list of
  4799.      scancodes. The default scancode is 0C52h (Ctrl-Alt-Insert). The scancode
  4800.      for Ctrl-Alt-Escape is 0C01h.
  4801.  
  4802.      nocmos (m)
  4803.      TbMem normally protects the CMOS memory if available. If you do not want
  4804.      TbMem to do this you can specify this option.
  4805.  
  4806.      Examples
  4807.           C:\utils\TbMem
  4808.      or:
  4809.           Device=C:\utils\TbMem.Exe
  4810.  
  4811.  
  4812.      TbMem in process
  4813.  
  4814.      If TbMem detects that a program tries to remain resident in memory, a
  4815.      pop-up window will appear with a message. You can either choose to
  4816.      continue, or to abort the program invoca-tion. If you answer 'NO' to the
  4817.      question 'Remove program from memory?' the program will continue undis-
  4818.  
  4819.                                      III - 44
  4820.  
  4821.  
  4822. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4823.  
  4824.  
  4825.      turbed, and TbMem places a mark in the Anti-Vir.Dat file about this
  4826.      program. Next time you invoke the same resident program, TbMem will not
  4827.      disturb you again.
  4828.  
  4829.      There are a lot of programs which normally remain resident in memory,
  4830.      such as disk caches, print spoolers, etc. How does TbMem distinguish
  4831.      between these programs and viruses?
  4832.  
  4833.      TbMem uses the Anti-Vir.Dat records generated by TbSetup to keep track
  4834.      of which files are normal TSRs and which are not. Most common resident
  4835.      software will be marked as such by TbSetup, so you don't have to worry
  4836.      about these files. 
  4837.  
  4838.      If TbMem pops up with the message that a program tries to remain resi-
  4839.      dent in memory, you have to consider the purpose of the program mentio-
  4840.      ned. Is the program supposed to continue to operate in the background?
  4841.      The answer is obviously yes if the program mentioned is a disk cache,
  4842.      print spooler, pop-up utility or system extension software.
  4843.  
  4844.      However, if the message appears after you have finished a text proces-
  4845.      sing job, or terminated a database or spreadsheet application, something
  4846.      is definitely wrong! You ought to terminate the program and use a virus
  4847.      scanner to check the system.
  4848.  
  4849.      The same applies when software that operates normally without staying
  4850.      resident in memory suddenly changes its behavior and tries to remain
  4851.      resident in memory.
  4852.  
  4853.  
  4854. 5.2. TbFile
  4855.  
  4856.      The Purpose of TbFile
  4857.  
  4858.      The two most perilous viral categories are the bootsector and the file
  4859.      variants. File viruses all have a common purpose -they infect programs.
  4860.      Infecting a program involves very unusual file manipulations that are
  4861.      quite dissimilar to normal files handling procedures, so in order to
  4862.      detect viral activity it is essential to keep an eye out for program
  4863.      file changes involving peculiar actions.
  4864.  
  4865.      TbFile monitors the system and detects attempts of programs to infect
  4866.      other programs. Unlike other file guards, TbFile monitors the system
  4867.      only for virus specific file modifications. TbFile won't generate an
  4868.      alarm when a program modifies itself for configuration purposes, nor
  4869.      does it bother you when you update a program or create one yourself.
  4870.      Running an average system, configurations should never cause a false
  4871.      alarm.
  4872.  
  4873.      TbFile not only detects attempts to infect programs, it also offers you
  4874.      the option to abort the infection process and to continue the program.
  4875.  
  4876.  
  4877.  
  4878.                                      III - 45
  4879.  
  4880.  
  4881. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4882.  
  4883.  
  4884.      TbFile detects other suspicious activities - including setting the
  4885.      seconds value of time stamps to an illegal value.
  4886.  
  4887.      TbFile has a very sophisticated infection detector and it will not give
  4888.      a false alarm when you perform standard file operations. In normal
  4889.      configurations you will never get a false alarm! 
  4890.  
  4891.      Files can be protected against unwanted modifications by means of the
  4892.      read-only attribute. Without TbFile this standard DOS protection can be
  4893.      circumvented easily. TbFile however makes sure any attempts to sabotage
  4894.      the readonly attribute will not go undetected. This gives you added
  4895.      security by letting you use an uncomplicated method to fully protect
  4896.      your files against destruction and infection.
  4897.  
  4898.      TbFile is fully network compatible. It does not require you to reload
  4899.      the checker after logging on to a network. Other resident anti-virus
  4900.      utilities force you to choose between protection before the network is
  4901.      started, or protection after the network is started, but not both.
  4902.  
  4903.  
  4904.      Command line options
  4905.  
  4906.      It is possible to specify options on the command line. The upper four
  4907.      options are always available, the other options are only available if
  4908.      TbFile is not already memory-resident.
  4909.  
  4910.  
  4911.      option     short explanation
  4912.      ---------- ----- -----------------------
  4913.  
  4914.      help       ?     display this helpscreen
  4915.      off        d     disable checking
  4916.      on         e     enable checking
  4917.      remove     r     remove TbFile from memory
  4918.  
  4919.      secure     s     all permissions denied
  4920.      allattrib  a     readonly check on all files
  4921.      compat     c     allow CPM style calls
  4922.  
  4923.      help (?)
  4924.      If you specify this option TbFile will show you the brief help as shown
  4925.      above.
  4926.  
  4927.      off (d)
  4928.      If you specify this option TbFile will be disabled, but it will remain
  4929.      in memory.
  4930.  
  4931.      on (e)
  4932.      If you use this option TbFile will be activated again after you disabled
  4933.      it with the 'off' option.
  4934.  
  4935.      remove (r)
  4936.  
  4937.                                      III - 46
  4938.  
  4939.  
  4940. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  4941.  
  4942.  
  4943.      This option can be used to remove the resident part of TbFile from your
  4944.      system's memory.  All memory used by TbFile
  4945.      will be released.
  4946.      Unfortunately, the removal of a TSR (like TbFile) is not always possi-
  4947.      ble.  TbFile checks whether it is safe to remove the resident part from
  4948.      memory. If it is not safe it just disables TbFile. A TSR can not be
  4949.      removed if another TSR has been started after it. If this happens with
  4950.      TbFile it will completely disable itself.
  4951.  
  4952.      secure (s)
  4953.      TbFile normally asks the user to continue or to cancel when a program
  4954.      tries to perform a suspicious operation. In some business environments
  4955.      however this choice should not be made by employees. By using option
  4956.      'secure' it is no longer possible to allow suspicious operations. It is
  4957.      also no longer possible to use options 'off' and 'remove'.
  4958.  
  4959.      allattrib (a)
  4960.      TbFile normally only protects the readonly attribute of executables
  4961.      (program files with the extension COM and EXE). If you want to have the
  4962.      readonly check on all files add option 'allattrib'. In this case you
  4963.      will always get an alarm when an attempt is made to remove the readonly
  4964.      attribute of any file.
  4965.  
  4966.      compat (c)
  4967.      DOS has still some CPM - an earlier operating system - functions left.
  4968.      No DOS program uses these functions anymore, but some viruses use these
  4969.      functions to bypass anti-virus software. TbFile closes these backdoors
  4970.      by default. Option 'compat' prevents this.
  4971.  
  4972.  
  4973.      Examples
  4974.           C:\utils\TbFile allattrib
  4975.      or:
  4976.           Device=C:\utils\TbFile.Exe allattrib
  4977.  
  4978.  
  4979. 5.3. TbDisk
  4980.  
  4981.      The Purpose of TbDisk
  4982.  
  4983.      Many viruses try to damage the data on the disk. They accomplish this by
  4984.      formatting the disk, overwriting the FAT, swapping disk sectors, etc.
  4985.      Almost anything is possible.
  4986.  
  4987.      Another category of malicious software, known as 'bootsector virus
  4988.      droppers', installs a bootsector virus on the disk. The program itself
  4989.      is not a virus, so detection with virus scanners and other anti-viral
  4990.      software is very difficult. The only way to detect such programs is by
  4991.      monitoring their behavior.
  4992.  
  4993.      The main problem lies in the way these programs manage to avoid the
  4994.      usual DOS procedures - they go directly to the BIOS, the Basic In-
  4995.  
  4996.                                      III - 47
  4997.  
  4998.  
  4999. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5000.  
  5001.  
  5002.      put/Output System. That is why you need TbDisk - to monitor the system
  5003.      and to ensure that no program can write directly to disk without permis-
  5004.      sion! It draws attention to any software that attempts to write directly
  5005.      to disk, thereby reducing the likelihood that a virus will remain
  5006.      unnoticed. TbDisk prevents viruses from damaging data on your disk and
  5007.      stops bootsector virus droppers in their tracks.
  5008.  
  5009.      TbDisk will come in handy, too, if you ever need to write protect a hard
  5010.      disk. This bonus feature often helps when testing new software.
  5011.  
  5012.      TbDisk not only informs you when a program tries to write directly to
  5013.      the disk, it also offers you the option to abort the program before it
  5014.      can cause any damage.
  5015.  
  5016.      Detection of 'stealth' techniques. TbDisk is able to detect attempts to
  5017.      single step through the BIOS handler, and even monitor the use of
  5018.      undocumented calls that could cause disk damage. 
  5019.  
  5020.      TbDisk is able to distinguish whether DOS or an application makes direct
  5021.      write attempts via Int 13h. Direct writes are perfectly legal for DOS,
  5022.      but unusual for application software. 
  5023.  
  5024.      TbDisk needs little maintenance. TbDisk uses the Anti-Vir.Dat records to
  5025.      determine if a program is allowed to write directly to the disk, inclu-
  5026.      ding popular disk utilities, which will have been recognized by TbSetup.
  5027.      In the absence of an Anti-vir.Dat record, TbDisk will ask your approval
  5028.      first and, if granted, updates the record accordingly in order to avoid
  5029.      repeated warnings about the same program.
  5030.  
  5031.      TbDisk is fully network compatible. It does not require you to reload
  5032.      the program after logging on to a network. Other resident anti-virus
  5033.      utilities force you to choose between either protection before the
  5034.      network is started, or protection after.
  5035.  
  5036.  
  5037.      How to use TbDisk
  5038.  
  5039.      Loading TBDisk
  5040.  
  5041.      Improper installation can cause excessive amounts of false alarms! If
  5042.      you want to install TbDisk in your Config.Sys or AutoExec.Bat file, it
  5043.      is highly recommended to use the 'install' option of TbDisk first. If
  5044.      the system continues to behave normally and TbDisk does not give false
  5045.      alarms when you copy files on your hard disk, TbDisk is installed
  5046.      correctly and you can remove option 'install'.
  5047.  
  5048.  
  5049.      TBDisk in your Install
  5050.  
  5051.      Failure to use option 'install' when you install TbDisk Config.Sys or
  5052.      AutoExec.Bat file may cause loss of data! Option 'install' causes TbDisk
  5053.      to allow all disk accesses, it will however pop-up a message like it
  5054.  
  5055.                                      III - 48
  5056.  
  5057.  
  5058. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5059.  
  5060.  
  5061.      would do in normal mode. If no false alarms occur when you copy files on
  5062.      your hard disk, TbDisk is installed correctly and option 'install' can
  5063.      be removed.
  5064.  
  5065.      If TbDisk causes false alarms you should load TbDisk further ahead in
  5066.      your Config.Sys or AutoExec.Bat file, until it works as it should do.
  5067.  
  5068.      Unlike the other TBAV utilities it is recommended to load TbDisk after
  5069.      other resident software!  Failure to do so can cause excessive amounts
  5070.      of false alarms!
  5071.  
  5072.  
  5073.      TBDisk and MS-Windows
  5074.  
  5075.      TbDisk detects if Windows is starting up, and will switch itself into
  5076.      multi tasking mode if necessary. You can even disable TbDisk in one
  5077.      window without affecting the functionality in another window.  If you
  5078.      configured Windows to use fast 32-bit disk access you might need TbDisk
  5079.      option 'win32' if Windows displays an error-message.
  5080.  
  5081.  
  5082.      Command line options
  5083.  
  5084.      It is possible to specify options on the command line. The upper four
  5085.      options are always available, the other options are available only if
  5086.      TbDisk is not memory resident.
  5087.  
  5088.  
  5089.      option   short explanation
  5090.      ------   ----- ------------------
  5091.  
  5092.      help      ?    display this helpscreen
  5093.      remove    r    remove TbDisk from memory
  5094.      off       d    disable checking
  5095.      on        e    enable checking
  5096.      wrprot    p    make hard disk write protected
  5097.      nowrprot  n    allow writes to hard disk
  5098.  
  5099.      win32     w    allow Windows 32bit disk access
  5100.      secure    s    deny access without asking
  5101.      nostealth a    do not detect stealth disk access
  5102.      notunnel  t    do not detect tunneling
  5103.      install   i    installation test mode
  5104.  
  5105.  
  5106.      help (?)
  5107.      If you specify this option TbDisk will show you the brief help as shown
  5108.      above. Once TbDisk has been loaded the help option will not show all
  5109.      options anymore.
  5110.  
  5111.      remove (r)
  5112.  
  5113.  
  5114.                                      III - 49
  5115.  
  5116.  
  5117. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5118.  
  5119.  
  5120.      This option can be used to remove the resident part of TbDisk from your
  5121.      system's memory.  All memory used by TbDisk will be released.
  5122.      Unfortunately, the removal of a TSR (like TbDisk) is not always possi-
  5123.      ble.  TbDisk checks whether it is safe to remove the resident part from
  5124.      memory. If it is not safe it just disables TbDisk. A TSR can not be
  5125.      removed if another TSR has been started after it. If this happens with
  5126.      TbDisk it will completely disable itself.
  5127.  
  5128.      off (d)
  5129.      If you specify this option TbDisk will be disabled, but it will remain
  5130.      in memory.
  5131.  
  5132.      on (e)
  5133.      If you use this option TbDisk will be activated again after you disabled
  5134.      it with the 'off' option.
  5135.  
  5136.      wrprot (p)
  5137.      Hard disks are more difficult to protect against writing than floppies,
  5138.      which adds considerably to the risks involved when, for instance,
  5139.      testing new software. Sometimes you might want to find out what this
  5140.      software will do to your hard disk and how this could possibly affect
  5141.      your valuable data. With option 'wrprot' it will be safer to do so.
  5142.      Whenever a program wishes to write to a protected disk you will receive
  5143.      a message such as:
  5144.  
  5145.      "Write protect error writing drive C: A)bort, R)etry, I)gnore?"
  5146.  
  5147.      You may then take appropriate action.
  5148.  
  5149. =>   Note: A software write protection solution is not absolutely reliable.
  5150.      It can be bypassed, but, fortunately, viruses that are actually capable
  5151.      to do so are few and far between. It can be a valuable shield against
  5152.      most malicious software, despite its shortcomings.
  5153.  
  5154.      nowrprot (n)
  5155.      You can use this option to undo the option 'wrprot'.
  5156.  
  5157.      win32 (w)
  5158.      Windows 386 Enhanced Mode uses some undocumented DOS calls to retrieve
  5159.      the original BIOS disk handler when 32-bit disk access has been enabled.
  5160.      Since TbDisk guards these calls, 32-bit disk access will no longer be
  5161.      possible, unless you specify option 'win32' when TbDisk is initialized. 
  5162.  
  5163. =>   Note: Use this option, which reduces antiviral security to some extent,
  5164.      only in Windows 386 Enhanced Mode with fast 32-bit disk access enabled!
  5165.  
  5166.      secure (s)
  5167.      TbDisk normally asks whether the user wants to continue or cancel when a
  5168.      program tries to perform direct disk access. In some business environ-
  5169.      ments, however, this should not be left up to employees. Option 'secure'
  5170.      disables direct disk access permission to new or unknown software. It
  5171.      also disables option 'off' and 'remove'.
  5172.  
  5173.                                      III - 50
  5174.  
  5175.  
  5176. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5177.  
  5178.  
  5179.      nostealth (a)
  5180.      TbDisk tries to detect direct calls into the BIOS. If such an  attempt
  5181.      occurs, TbDisk pops up with a message that the disk is accessed in an
  5182.      unusual way. If this feature causes false alarms, you can use this
  5183.      option to turn it off.
  5184.  
  5185.      notunnel (t)
  5186.      One of TbDisk's regular tasks is to detect tunneling attempts on the
  5187.      part of viruses. 'Tunneling' is a technique used by viruses to determine
  5188.      the location of the BIOS system code in memory, and to use that address
  5189.      to communicate with the BIOS directly. This will inactivate all TSR
  5190.      programs, including resident anti-virus software. TbDisk can detect
  5191.      'tunneling' attempts in advance and informs you about this. Some other
  5192.      antiviral products employ tunneling techniques also to bypass resident
  5193.      viruses, causing a false alarm. If you make use of such other anti-virus
  5194.      products, you may use the option 'notunnel' to disable tunneling-detec-
  5195.      tion.
  5196.  
  5197.      install (i)
  5198.      Incorrect installation may result in a large number of false alarms. You
  5199.      should use option 'install' when installing TbDisk, which will reduce
  5200.      the risk of cancelling a valid disk write operation as a result of false
  5201.      alarms.
  5202.  
  5203.  
  5204.      TbDisk in process
  5205.  
  5206.      What is Direct Disk Access?  
  5207.      Programs often access files, usually through the operating system (DOS).
  5208.      Whenever a program wants to update a file, for example, it asks DOS to
  5209.      write the data to disk. There are however also possibilities to write to
  5210.      a disk without using DOS. This is called 'direct disk access'.
  5211.  
  5212.      Normal programs do not write to the disk directly. However, there are
  5213.      some programs that need to write to disk directly. Programs in this
  5214.      category are:
  5215.  
  5216.      -    Format utilities. A disk can only be formatted by direct disk
  5217.           access.
  5218.  
  5219.      -    Disk diagnosis utilities (such as the NORTON disk doctor, DOS
  5220.           chkdsk, etc.)
  5221.  
  5222.      -    Disk optimizers.
  5223.  
  5224.      As many viruses are able to perform direct disk access as well, it is
  5225.      essential to have some control over all this. TbDisk can distinguish
  5226.      between legitimate programs and a virus with the help of the Anti-
  5227.      Vir.Dat records, generated by TbSetup under your guidance.
  5228.  
  5229.  
  5230.      Detecting direct disk accesses
  5231.  
  5232.                                      III - 51
  5233.  
  5234.  
  5235. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5236.  
  5237.  
  5238.      Whenever TbDisk pops up with the message that a program accesses to the
  5239.      disk directly, consider its purpose carefully. While it is perfectly
  5240.      acceptable for a format utility or a disk optimizer to format or edit
  5241.      disk sectors, the same cannot be said about a word processor or databa-
  5242.      se. When TbDisk warns you that a spreadsheet or some other 'normal'
  5243.      program is about to format a sector, you can be sure that something is
  5244.      wrong. Terminate the program -pronto!- and check things out with a virus
  5245.      scanner before the worst can happen.
  5246.  
  5247.  
  5248.  
  5249.  
  5250.  
  5251.  
  5252.  
  5253.  
  5254.  
  5255.  
  5256.  
  5257.  
  5258.  
  5259.  
  5260.  
  5261.  
  5262.  
  5263.  
  5264.  
  5265.  
  5266.  
  5267.  
  5268.  
  5269.  
  5270.  
  5271.  
  5272.  
  5273.  
  5274.  
  5275.  
  5276.  
  5277.  
  5278.  
  5279.  
  5280.  
  5281.  
  5282.  
  5283.  
  5284.  
  5285.  
  5286.  
  5287.  
  5288.  
  5289.  
  5290.  
  5291.                                      III - 52
  5292.  
  5293.  
  5294. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5295.  
  5296.  
  5297. 6. TBAV Tools
  5298.  
  5299.  
  5300. 6.1. TbUtil
  5301.  
  5302.      The Purpose of TbUtil
  5303.  
  5304.      TbUtil provides a defense against partition table and bootsector viru-
  5305.      ses:
  5306.  
  5307.      TbUtil copies the partition table, bootsector and CMOS data area into a
  5308.      file. On a regular base you can use TbUtil to compare both the current
  5309.      and the copied versions of the partition table, bootsector and CMOS data
  5310.      area. After a (virus) accident you can restore the copy with the TbUtil
  5311.      program. 
  5312.  
  5313.      TbUtil removes a partition table virus without having to low-level
  5314.      format the hard disk, even if there is no backup of the partition table.
  5315.  
  5316.      TbUtil removes bootsector viruses.
  5317.  
  5318.      TbUtil creates a partition table that has some first-line virus defenses
  5319.      built-in.
  5320.  
  5321.      TbUtil replaces the infected or clean bootsector by a safe TBAV boots-
  5322.      ector.
  5323.  
  5324.  
  5325.      What is a partition table?
  5326.  
  5327.      A partition is a logical drive on a hard disk. A physical hard disk can
  5328.      contain multiple DOS partitions. Every DOS partition has its own drive
  5329.      ID (eg. C: D: E:). The partition table contains the disk lay-out and the
  5330.      start and end cylinder of every partition. The partition table also
  5331.      carries information about the operating system of a partition and which
  5332.      partition should be used to boot. The partition table is always located
  5333.      at the first sector of the hard disk. It is called the "Master Boot
  5334.      Record".
  5335.  
  5336.  
  5337.      No format needed
  5338.  
  5339.      Unlike most file viruses, partition table viruses are hard to remove.
  5340.      The only solution is to low-level format the hard disk and to make a new
  5341.      partition table, or to make use of undocumented DOS commands.
  5342.  
  5343.      TbUtil makes a backup of the partition table and bootsector, and will
  5344.      use this backup to compare and restore both the original partition table
  5345.      and bootsector once they have been infected. You don't have to format
  5346.      your disk anymore to get rid of a partition table or bootsector virus.
  5347.      The program can also restore the CMOS configuration.
  5348.  
  5349.  
  5350.                                      III - 53
  5351.  
  5352.  
  5353. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5354.  
  5355.  
  5356.      If desired TbUtil replaces the partition table code with an immunized
  5357.      partition table, containing facilities against viruses. The TbUtil
  5358.      partition code will be executed before the bootsector gains control, so
  5359.      it is able to check the bootsector in a clean environment. Once the
  5360.      bootsector is executed it is difficult to check it, because the virus is
  5361.      already resident in memory and can fool any protection. Instead of
  5362.      booting from a clean DOS diskette just to inspect the bootsector, the
  5363.      TbUtil partition code performs a CRC calculation on the bootsector just
  5364.      before control is passed to it.
  5365.  
  5366.      If the bootsector has been modified the TbUtil partition code will warn
  5367.      you about this. The TbUtil partition code also checks the RAM layout and
  5368.      informs you when it has changed. It does this every time you boot from
  5369.      your hard disk.
  5370.  
  5371.      TbUtil can replace infected and clean diskette bootsectors by a new
  5372.      bootsector, which has advantages over the standard bootsector. It has
  5373.      bootsector virus detection capabilities, it performs a sanity check, and
  5374.      it offers you the possibility to redirect the boot process to the hard
  5375.      disk without opening the diskette drive door.
  5376.  
  5377.  
  5378.      How to use TbUtil
  5379.  
  5380.      The TbUtil module contains several programs, which can be executed from
  5381.      the TbUtil menu or in case of an emergency from a TbUtil recovery
  5382.      diskette using the DOS command line. TbUtil allows some additional menu
  5383.      options. These options are discussed below. The corresponding command
  5384.      line parameters are listed in chapter 6 of this section.
  5385.  
  5386.  
  5387.      The system maintenance menu
  5388.  
  5389.      This menu contains the actual TbUtil program. The program takes care of
  5390.      saving, restoring or comparing the system configuration of your PC. The
  5391.      backup system configuration is stored on a diskette in a file with
  5392.      either a default name or a name you can specify yourself.
  5393.  
  5394. =>   Warning: You can only restore a system configuration datafile on the
  5395.      machine which created the datafile. If not, restoring such a file will
  5396.      make your PC inaccessible!
  5397.  
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.  
  5404.  
  5405.  
  5406.  
  5407.  
  5408.  
  5409.                                      III - 54
  5410.  
  5411.  
  5412. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5413.  
  5414.  
  5415.      +----Main menu-----+
  5416.      |  Confi+-----------TbUtil menu-----------+
  5417.      |  TbSet|  Syste+-------System maintenance-------+
  5418.      |  TbSca|  Immun|  Execute TbUtil                |
  5419.      |  TbUti|  Immun|  Describe this machine         |
  5420.      |  TbCLe|  Immun|  Save system configuration     |
  5421.      |  TBAV +-------|v Compare system configuration  |
  5422.      |  Documentation|  Restore system configuration  |
  5423.      |  Register TBAV|v process CMOS memory           |
  5424.      |  Quit and save|v process Partition code        |
  5425.      |  eXit (no save|v process Bootsector            |
  5426.      +---------------+--------------------------------+
  5427.  
  5428.  
  5429.      Execute TbUtil
  5430.  
  5431.      Before activating this option, you must select one of the optional
  5432.      functions: save, compare or restore the system configuration. Toggle to
  5433.      the desired option and type <ENTER>. A checkmark will indicate the
  5434.      selected option.
  5435.  
  5436.  
  5437.      Describe this machine 
  5438.  
  5439.      Enter a meaningful description of the machine. Enter something like "AT
  5440.      12MHz, 4Mb, room 12, Mr. Smith". You do NOT have to remember it, TbUtil
  5441.      will display it on the screen when comparing or restoring, but it helps
  5442.      you to verify that the data file belongs to the machine.
  5443.  
  5444.  
  5445.      Save system configuration 
  5446.  
  5447.      This option stores the partition table, bootsector and CMOS data area
  5448.      into the TbUtil data file. 
  5449.  
  5450. =>>  Attention! Since the PC is completely inaccessible to DOS if the parti-
  5451.      tion table gets damaged, it is HIGHLY RECOMMENDED to store both the
  5452.      TbUtil data file and the program TbUtil.Exe itself on a diskette! It is
  5453.      not nice if the partition table is destroyed and the only solution to
  5454.      the problem resides on the same inaccessible disk...
  5455.  
  5456.      When loading TbUtil from the command line you must specify a filename
  5457.      after the 'store' option. Using the TBAV menu, you may use the default
  5458.      filename 'TBUTIL.DAT'. If you own more than one PC, it is advisable to
  5459.      create one TbUtil diskette with all TbUtil data files of all your PC's
  5460.      on it. Use the extension of the file for PC identification, eg.:
  5461.  
  5462.           a:TbUtil.<number>
  5463.  
  5464.  
  5465.  
  5466.  
  5467.  
  5468.                                      III - 55
  5469.  
  5470.  
  5471. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5472.  
  5473.  
  5474.      Compare system configuration 
  5475.  
  5476.      This option enables you to check on a regular basis that everything is
  5477.      still OK. If you specify this option TbUtil will compare the information
  5478.      in the TbUtil data file against the partition table, bootsector and CMOS
  5479.      data area. It will also  show the comment stored in the data file. And
  5480.      of course, if you use this option you will also be guaranteed that the
  5481.      TbUtil data file is still readable.
  5482.  
  5483.  
  5484.      Restore system configuration 
  5485.  
  5486.      This option enables you to restore the partition table, bootsector, and
  5487.      CMOS data area. It will ask you to confirm that the data file belongs to
  5488.      the current machine. Finally it will restore the partition table,
  5489.      bootsector of the partition to be used to boot, and the CMOS data area.
  5490.  
  5491.  
  5492.      Process Partition code/Bootsector/CMOS memory
  5493.  
  5494.      TbUtil will by default restore the partition code, bootsector and CMOS
  5495.      if option 'restore' is specified. If you use one of the above mentioned
  5496.      options in combination with the option 'restore' TbUtil will restore
  5497.      just the items specified.
  5498.  
  5499.  
  5500.  
  5501.      The TbUtil menu
  5502.  
  5503.      Apart from the System maintenance menu, the TbUtil menu contains some
  5504.      useful programs to prevent bootsector virus infection or to remove these
  5505.      viruses.
  5506.  
  5507.      +----Main menu-----+
  5508.      |  Confi+-----------TbUtil menu-----------+
  5509.      |  TbSet|  System maintenance menu       >|
  5510.      |  TbSca|  Immunize/clean bootsector A:   |
  5511.      |  TbUti|  Immunize/clean bootsector B:   |
  5512.      |  TbCLe|  Immunize/clean partition code  |
  5513.      |  TBAV +---------------------------------+
  5514.      |  Documentation  >|
  5515.      |  Register TBAV   |
  5516.      |  Quit and save   |
  5517.      |  eXit (no save)  |
  5518.      +------------------+
  5519.  
  5520.  
  5521.      Immunize/clean diskette 
  5522.  
  5523.      You can use the 'immunize' program to clean diskettes infected by a
  5524.      bootsector virus or to replace the standard bootsector by a bootsector
  5525.      which has advantages over the original one:
  5526.  
  5527.                                      III - 56
  5528.  
  5529.  
  5530. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5531.  
  5532.  
  5533.      It has virus detection capabilities. The bootsector will check that it
  5534.      is still located on the correct place on the diskette, and that Int 13h
  5535.      and/or Int 40h are still located in system ROM. This makes it possible
  5536.      to detect even 'stealth' and bootsector viruses.
  5537.  
  5538.      The TBAV bootsector is able to load the system files if they are availa-
  5539.      ble on the disk, but if the DOS system files are not on the disk the
  5540.      TBAV bootsector will present a small menu and offers you two possibili-
  5541.      ties: retry the boot operation with another diskette, or to boot from
  5542.      the harddisk. If the user selects the latter, it is not required to open
  5543.      the diskette drive door.
  5544.  
  5545.  
  5546.      Immunize/clean hard disk 
  5547.  
  5548.      This is a very powerful option, which can be used to clean an infected
  5549.      partition table if there is no TbUtil data file. It replaces the exis-
  5550.      ting partition table code by a new partition routine containing some
  5551.      virus detection capabilities. The original partition code will be saved
  5552.      in a file. You have to execute TbUtil from a floppy drive or you have to
  5553.      specify the name of the file (the specified drive should be a diskette
  5554.      drive) to store the original partition code.
  5555.  
  5556.      If the original partition table is completely damaged and cannot be used
  5557.      to build a new one, TbUtil will scan the entire disk for information
  5558.      about the original disk layout. TbUtil will also search for TbUtil data
  5559.      files on the hard disk. It is however recommended to store the data file
  5560.      on a diskette, although it is a good idea to keep a copy of it on the
  5561.      hard disk. Just in case!
  5562.  
  5563.      If your system configuration changes, i.e. you update your DOS version,
  5564.      or change the amount of memory, you need to update the information
  5565.      stored in the immune partition as well. You can do this by using this
  5566.      option.
  5567.  
  5568.      In the unlikely event that the system does not boot properly, you can
  5569.      restore the original partition table using the TbUtil 'restore' option
  5570.      or by using the DOS 5+ 'FDISK /MBR' command (which will create a new
  5571.      partition table).
  5572.  
  5573.      If the new partition code works properly, you should make a back-up copy
  5574.      of it on a diskette using the TbUtil 'store' option.
  5575.  
  5576.  
  5577.      Command line options
  5578.  
  5579.      TbUtil recognizes option-characters and option-words. The words are
  5580.      easier to remember, and they will be used in this manual for convenien-
  5581.      ce.
  5582.  
  5583.  
  5584.  
  5585.  
  5586.                                      III - 57
  5587.  
  5588.  
  5589. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5590.  
  5591.  
  5592.      option     parameter   short explanation
  5593.      ------     ---------   ----  --------------------
  5594.  
  5595.      immunize   <drive>       im  Immunize/Clean boot/MBR of <drive>
  5596.      getboot    <drive>       gb  Save bootsector into file
  5597.      store      [<filename>]  st  Store system information
  5598.      restore    [<filename>]  re  Restore system information
  5599.      compare    [<filename>]  co  Compare system information
  5600.      Sub-options of option 'Immunize':
  5601.      norepeat                 nr  Do not ask for next diskette
  5602.      nomem                    nm  Do not check for amount of RAM
  5603.      batch                    ba  Do not prompt to insert a disk
  5604.      Sub-options of option 'Store':
  5605.      description<descr.>      de  Add description to data file
  5606.      Sub-options of option 'Restore':
  5607.      part                     pt  Restore partition table
  5608.      boot                     bo  Restore bootsector of HD
  5609.      cmos                     cm  Restore CMOS
  5610.  
  5611.  
  5612.      Below, the command line options are explained briefly.
  5613.  
  5614.      immunize diskette <drive> (im)
  5615.      You can use the 'immunize' program to clean diskettes infected by a
  5616.      bootsector virus or to replace the standard bootsector by a bootsector
  5617.      which has advantages over the original one: 
  5618.  
  5619.      -    It has virus detection capabilities. The bootsector will check that
  5620.           it is still located on the correct place on the diskette, and that
  5621.           Int 13h and/or Int 40h are still located in system ROM. This makes
  5622.           it possible to detect even 'stealth' and bootsector viruses.
  5623.  
  5624.      -    The TBAV bootsector is able to load the system files if they are
  5625.           available on the disk, but if the DOS system files are not on the
  5626.           disk the TBAV bootsector will present a small menu and offers you
  5627.           two possibilities: retry the boot operation with another diskette,
  5628.           or to boot from the harddisk. If the user selects the latter, it is
  5629.           not required to open the diskette drive door.
  5630.  
  5631.  
  5632.      Immunize c: (im c:)
  5633.      This is a very powerful option, which can be used to clean an infected
  5634.      partition table if there is no TbUtil data file. It replaces the exis-
  5635.      ting partition table code by a new partition routine containing some
  5636.      virus detection capabilities. The original partition code will be saved
  5637.      in a file. You have to execute TbUtil from a floppy drive or you have to
  5638.      specify the name of the file (the specified drive should be a diskette
  5639.      drive) to store the original partition code.
  5640.  
  5641.      If the original partition table is completely damaged and cannot be used
  5642.      to build a new one, TbUtil will scan the entire disk for information
  5643.      about the original disk layout. TbUtil will also search for TbUtil data
  5644.  
  5645.                                      III - 58
  5646.  
  5647.  
  5648. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5649.  
  5650.  
  5651.      files on the hard disk. It is however recommended to store the data file
  5652.      on a diskette, although it is a good idea to keep a copy of it on the
  5653.      hard disk. Just in case!
  5654.  
  5655.      If your system configuration changes, i.e. you update your DOS version,
  5656.      or change the amount of memory, you need to update the information
  5657.      stored in the immune partition as well. You can do this by using this
  5658.      option. In the unlikely event that the system does not boot properly,
  5659.      you can restore the original partition table using the TbUtil 'restore'
  5660.      option or by using the DOS 5+ 'FDISK /MBR' command (which will create a
  5661.      new partition table). If the new partition code works properly, you
  5662.      should make a back-up copy of it on a diskette using the TbUtil 'store'
  5663.      option.
  5664.  
  5665.      getboot <drive> (gb)
  5666.      With this option you can copy the bootsector of the specified drive into
  5667.      a file.
  5668.  
  5669.      store [<filename>] (st)
  5670.      This option stores the partition table, bootsector and CMOS data area
  5671.      into the TbUtil data file. 
  5672.  
  5673. =>>  Attention! Since the PC is completely inaccessible to DOS if the parti-
  5674.      tion table gets damaged, it is HIGHLY RECOMMENDED to store both the
  5675.      TbUtil data file and the program TbUtil.Exe itself on a diskette! It is
  5676.      not nice if the partition table is destroyed and the only solution to
  5677.      the problem resides on the same inaccessible disk...
  5678.  
  5679.      When loading TbUtil from the command line you must specify a filename
  5680.      after the 'store' option. Using the TBAV menu, you may use the default
  5681.      filename 'TBUTIL.DAT'. If you own more than one PC, it is advisable to
  5682.      create one TbUtil diskette with all TbUtil data files of all your PC's
  5683.      on it. Use the extension of the file for PC identification, eg.:
  5684.      a:TbUtil.<number>
  5685.  
  5686.      restore [<filename>] (re)
  5687.      This option enables you to restore the partition table, bootsector, and
  5688.      CMOS data area. It will ask you to confirm that the data file belongs to
  5689.      the current machine. Finally it will restore the partition table,
  5690.      bootsector of the partition to be used to boot, and the CMOS data area.
  5691.  
  5692.      compare [<filename>] (co)
  5693.      This option enables you to check on a regular basis that everything is
  5694.      still OK. If you specify this option TbUtil will compare the information
  5695.      in the TbUtil data file against the partition table, bootsector and CMOS
  5696.      data area. It will also  show the comment stored in the data file. And
  5697.      of course, if you use this option you will also be guaranteed that the
  5698.      TbUtil data file is still readable.
  5699.  
  5700.      norepeat (nr) 
  5701.      TbUtil will prompt you for next diskette after you immunized a diskette.
  5702.      With option 'norepeat' you can disable this.
  5703.  
  5704.                                      III - 59
  5705.  
  5706.  
  5707. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5708.  
  5709.  
  5710.      nomem (nm)
  5711.      If you specify this option when you are immunizing your partition code,
  5712.      the partition code will skip the RAM check while booting. This is
  5713.      necessary for some systems which change the memory setup during the boot
  5714.      process.
  5715.  
  5716.      batch (ba)
  5717.      If you specify this option when you are immunizing diskettes, TbUtil
  5718.      will not prompt you to insert a disk but assume that there is a disk
  5719.      inserted.
  5720.  
  5721.      description <descr.> (de)
  5722.      Enter a meaningful description of the machine. Enter something like "AT
  5723.      12MHz, 4Mb, room 12, Mr. Smith". You do NOT have to remember it, TbUtil
  5724.      will display it on the screen when comparing or restoring, but it helps
  5725.      you to verify that the data file belongs to the machine.
  5726.  
  5727.      part (pt)
  5728.      boot (bo)
  5729.      cmos (cm)
  5730.  
  5731.      TbUtil will by default restore the partition code, bootsector and CMOS
  5732.      if option 'restore' is specified. If you use one of the above mentioned
  5733.      options in combination with the option 'restore' TbUtil will restore
  5734.      just the items specified.
  5735.  
  5736.  
  5737.      Examples
  5738.           TbUtil store
  5739.           TbUtil st
  5740.           TbUtil store A:TbUtil.Dat
  5741.           TbUtil store A:TbUtil.Dat description = "Test machine"
  5742.           TbUtil compare A:TbUtil.Dat
  5743.           TbUtil restore A:TbUtil.Dat part cmos
  5744.           TbUtil immunize A:
  5745.           TbUtil immunize C: nomem
  5746.           Type A:TbUtil.Dat
  5747.  
  5748.  
  5749.      Using the anti-virus partition
  5750.  
  5751.      If you install the Thunderbyte partition code (TbUtil immunize), you
  5752.      will see the following while booting a clean system:
  5753.  
  5754.  
  5755.           Thunderbyte anti-virus partition v6.03 (C) 1993 Thunderbyte BV.
  5756.  
  5757.           Checking bootsector CRC -> OK!
  5758.           Checking available RAM -> OK!
  5759.           Checking INT 13h -> OK!
  5760.  
  5761.  
  5762.  
  5763.                                      III - 60
  5764.  
  5765.  
  5766. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5767.  
  5768.  
  5769.      If there is a virus in the bootsector or partition table you will see
  5770.      this:
  5771.  
  5772.           Thunderbyte anti-virus partition v6.03 (C) 1993 Thunderbyte BV.
  5773.  
  5774.           Checking bootsector CRC -> OK!
  5775.           Checking available RAM -> Failed!
  5776.  
  5777.           System might be infected. Continue? (N/Y)
  5778.  
  5779.  
  5780.      Some other messages that can be displayed are "No system.", which means
  5781.      that there is no active partition on the disk, and "Disk error" of which
  5782.      the meaning is obvious.
  5783.  
  5784.  
  5785.      Using the TbUtil diskette
  5786.  
  5787.      Take a new diskette, format it as a bootable diskette (eg. by using the
  5788.      dos 'format /s' command). Copy the TbUtil files onto the diskette:
  5789.  
  5790.           copy tbutil.* a:
  5791.  
  5792.      The TbUtil files you need are:
  5793.           tbutil.exe
  5794.           tbutil.lng
  5795.  
  5796.  
  5797.      Trouble-Shooting
  5798.  
  5799.      In case of an emergency, eg. a damaged or infected partition table, you
  5800.      should boot from the TbUtil diskette. Subsequently, you start the TbUtil
  5801.      program, using the 'immunize' option:
  5802.  
  5803.           a:\tbutil immunize c:
  5804.  
  5805.  
  5806. 6.2. TbLog
  5807.  
  5808.      The purpose of TbLog
  5809.  
  5810.      TbLog is a TBAV log file utility. It writes a record into a log file
  5811.      whenever one of the resident TBAV utilities pops up with an alert
  5812.      message. Also when TbScan detects a virus a record will be written.
  5813.  
  5814.      This utility is primarily intended for network users. If all workstati-
  5815.      ons have TbLog installed and configured to maintain the same log file,
  5816.      the supervisor is able to keep track of what is going on easily. When a
  5817.      virus enters the network he is able to determine which machine introdu-
  5818.      ced the virus, and he can take action in time.
  5819.  
  5820.  
  5821.  
  5822.                                      III - 61
  5823.  
  5824.  
  5825. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5826.  
  5827.  
  5828.      A TbLog record consists of the timestamp on which the event took place,
  5829.      the name of the machine on which the event occured, and an informative
  5830.      message about what happenend and which files were involved. The informa-
  5831.      tion is very comprehensive and takes just one line.
  5832.  
  5833.  
  5834.      How to use TbLog
  5835.  
  5836.      Just like the other TBAV utilities TbLog can be loaded in the Config.Sys
  5837.      or AutoExec.Bat file, after the TbDriver invokation.
  5838.  
  5839.      TbLog should be installed on every workstation. If you want to use all
  5840.      workstations to maintain the same log file, it is recommended to load
  5841.      TbLog after the network has been started.
  5842.  
  5843.      TbLog will by default maintain a log file with the name TbLog.Log in the
  5844.      TBAV directory. If you want to use another filename or in on another
  5845.      disk or directory you can specify a filename on the command line of
  5846.      TbLog. In a network environment it is highly recommended to put the log
  5847.      file on a server disk.
  5848.  
  5849.  
  5850.      Command line options
  5851.  
  5852.      It is possible to specify options on the command line. The upper five
  5853.      options are always available, the other options are available only if
  5854.      TbLog is not memory resident.
  5855.  
  5856.      option   parameter   short explanation
  5857.      ----------------------------------------------------
  5858.      help                  ?    display this helpscreen
  5859.      remove                r    remove TbLog from memory
  5860.      on                    e    enable TbLog
  5861.      off                   d    disable TbLog
  5862.      test                  t    log test message
  5863.  
  5864.      machine = <machine>   m    name of your machine
  5865.      secure                s    do not allow removal
  5866.  
  5867.  
  5868.      help (?)
  5869.      If you specify this option TbLog will show you the brief help as shown
  5870.      above.
  5871.  
  5872.      off (d)
  5873.      If you specify this option TbLog will be disable, but it will remain in
  5874.      memory.
  5875.  
  5876.      on (e)
  5877.      If you use this option TbLog will be activated again after you disabled
  5878.      it with the 'off' option.
  5879.  
  5880.  
  5881.                                      III - 62
  5882.  
  5883.  
  5884. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.               SECTION III
  5885.  
  5886.  
  5887.      remove (r)
  5888.      This option can be used to remove the resident part of TbLog from your
  5889.      system's memory.  All memory used by TbLog will be released. Unfortuna-
  5890.      tely, the removal of a TSR (like TbLog) is not always possible.  TbLog
  5891.      checks whether it is safe to remove the resident part from memory. If it
  5892.      is not safe it just disables TbLog. A TSR can not be removed if another
  5893.      TSR has been started after it. If this happens with TbLog it will
  5894.      completely disable itself.
  5895.  
  5896.      test (t)
  5897.      This option can be used to record a test message. If you use option
  5898.      'test' at the initial invocation of TbLog, it will record the time and
  5899.      machinename into the log file. If you use the 'test' option afterwards
  5900.      it will just put a test message in the log file.
  5901.  
  5902.      machine (m)
  5903.      With this option you can specify the name of the machine on which TbLog
  5904.      is loaded. This machine name will appear in the log file. On NetBios
  5905.      compatible machines TbLog will by default use the network machine name.
  5906.      On other networks - such as Novell - you have to enter the network name
  5907.      on the TbLog command line.
  5908.  
  5909.      secure (s)
  5910.      If you specify this option it is not possible anymore to use options
  5911.      'off' and 'remove'.
  5912.  
  5913.  
  5914.      Examples:
  5915.           C:\TBAV\TbLog f:\security\Tblog.log secure machine=DESK3
  5916.      or:
  5917.           Device=c:\TBAV\TbLog.Exe x:\logs\tblog.log machine=JOHN test
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928.  
  5929.  
  5930.  
  5931.  
  5932.  
  5933.  
  5934.  
  5935.  
  5936.  
  5937.  
  5938.  
  5939.  
  5940.                                      III - 63
  5941.  
  5942.  
  5943. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  5944.  
  5945.  
  5946. SECTION IV. ADVANCED USER INFORMATION
  5947.  
  5948.  
  5949. 1. Memory requirements
  5950.  
  5951.      Free memory needed:
  5952.                               min.                min.
  5953.                               to be               after
  5954.                               loaded:             termination:
  5955.  
  5956.      TbScan                   200 Kb
  5957.      TbScanX                  10 Kb               800 bytes
  5958.      TbCheck                  4 Kb                600 bytes
  5959.      TbUtil                   64 Kb
  5960.      TbClean                  96 Kb
  5961.  
  5962.      TbMem                    4 Kb                600 bytes
  5963.      TbFile                   5 Kb                1 Kb
  5964.      TbDisk                   4 Kb                800 bytes
  5965.      TbDriver                 5 Kb                3 Kb
  5966.      TbLog                    5 Kb                1 Kb
  5967.  
  5968.  
  5969.      If you decide to use a log file TbScan will need an additional 16 Kb of
  5970.      memory for the log file buffer. If TbScan uses its own built-in file
  5971.      system it uses additional memory to keep the FAT in memory. Note that
  5972.      the memory requirements are independent of the number of signatures. The
  5973.      current memory requirements are adequate to manage at least 2500 signa-
  5974.      tures.
  5975.  
  5976.      The amount of memory TbScanX requires depends on the number of signatu-
  5977.      res. With all features enabled TbScanX uses 30 Kb of memory when scan-
  5978.      ning for 1400 family signatures. If you enable swapping TbScanX normally
  5979.      uses only 1Kb of memory. You can swap to EMS and XMS memory. Of course
  5980.      the remaining kilobyte of TbScanX can be loaded in upper memory.
  5981.  
  5982.      In the heuristic cleaning mode TbClean needs much more memory, depending
  5983.      on the size of the infected file. TbClean can also use expanded memory
  5984.      (EMS).
  5985.  
  5986.  
  5987.      Reducing memory requirements
  5988.  
  5989.      Most PC users try to maintain as much free DOS memory as possible. The
  5990.      memory resident TBAV utilities (TbScanX, TbCheck, TbMem, TbFile, TbDisk
  5991.      and TbDriver) are designed to use only a little amount of DOS memory. To
  5992.      decrease the memory requirements of these utilities even further do the
  5993.      following:
  5994.  
  5995.      Load the program from within the Config.Sys file. If loaded as a device
  5996.      driver it has no Program Segment Prefix (PSP), which saves 256 bytes for
  5997.      each TBAV utility.
  5998.  
  5999.                                       IV - 1
  6000.  
  6001.  
  6002. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6003.  
  6004.  
  6005.      If you load the TBAV utilities from within the Autoexec.Bat file, load
  6006.      them before establishing environment variables. DOS maintains a list of
  6007.      environment variables for every resident program, so keep this list
  6008.      small while installing TSRs. Once all TSRs are installed you can define
  6009.      all environment variables without affecting the memory requirements of
  6010.      the TSRs.
  6011.  
  6012.      By using one of the options 'ems' or 'xms' TbScanX swaps itself to non-
  6013.      DOS memory, leaving only 1 Kb of code in DOS memory. Swapping to expan-
  6014.      ded memory ('ems') is preferred. 
  6015.  
  6016.      If you have DOS 5 or higher try to load the program into an upper memory
  6017.      block using the "loadhigh" or "devicehigh" commands. It is recommended
  6018.      to enable swapping also to limit the usage of upper memory.
  6019.  
  6020.      Use one of the processor specific versions of the relevant TBAV utility.
  6021.      They all consume less memory than the generic versions. Processor
  6022.      optimized versions are available on any ThunderBYTE support BBS.
  6023.  
  6024.      Consider the following memory saving options:
  6025.      TbDriver:      NoStack
  6026.      TbMem:         NoCancel
  6027.      TbScanX:       NoBoot, EMX, XMS, wild
  6028.  
  6029.  
  6030.  
  6031.  
  6032.  
  6033.  
  6034.  
  6035.  
  6036.  
  6037.  
  6038.  
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046.  
  6047.  
  6048.  
  6049.  
  6050.  
  6051.  
  6052.  
  6053.  
  6054.  
  6055.  
  6056.  
  6057.  
  6058.                                       IV - 2
  6059.  
  6060.  
  6061. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6062.  
  6063.  
  6064. 2. TbSetup
  6065.  
  6066.  
  6067. 2.1. Anti-Vir.Dat design considerations
  6068.  
  6069.      ThunderBYTE Anti-Virus expects every directory on your system with
  6070.      executable files to have its own Anti-Vir.Dat file. Some other anti-
  6071.      virus products maintain a somewhat similar 'fingerprint' list of all
  6072.      executable files, but in one large file rather than a separate file in
  6073.      every directory. TBAV contains a separate file in every directory
  6074.      instead of one file with all file information because of the following:
  6075.  
  6076.      One file in every directory will ease maintenance. If you want to remove
  6077.      a complete product, the accompanying Anti-Vir.Dat file can be removed as
  6078.      well. 
  6079.  
  6080.      It will consume less disk space because path information need not to be
  6081.      stored in the information file. 
  6082.  
  6083.      The TBAV utilities will perform faster because they do not have to
  6084.      search through a huge file to locate the information of one specific
  6085.      file.
  6086.  
  6087.      Installation is easier and more reliable in network environments. On
  6088.      networks it is not unusual that the same files have different drive ID's
  6089.      on different workstations. In case of only one information file the
  6090.      drive-ID's should be stored as well, so every workstation should main-
  6091.      tain its own list. The supervisor would easily lose control in this
  6092.      situation.
  6093.  
  6094.  
  6095. 2.2. Format of TbSetup.Dat
  6096.  
  6097.      Editing the TbSetup.Dat file is useful to TBAV site installation (see
  6098.      IV-8). Therefore, some information on the format of this file is neces-
  6099.      sary. The format of the TbSetup.Dat file is very simple. Empty lines, or
  6100.      lines starting with a semi-colon (';') or percent symbol, are either
  6101.      ignored or treated as comment lines. The lines with a preceding percent
  6102.      symbol are also displayed in TbSetup's upper window.
  6103.  
  6104.      Every entry in the TbSetup.Dat file has four items:
  6105.  
  6106.      The filename. The filename must be written in capital letters and
  6107.      without spaces.
  6108.  
  6109.      The length of the file in hexadecimal notation. This field may contain a
  6110.      single asterisk ('*') if an exact filelength match is not required.
  6111.  
  6112.      The file's 32-bit CRC in hexadecimal notation. A single asterisk is
  6113.      allowed if an exact checksum match is not required. 
  6114.  
  6115.  
  6116.  
  6117.                                       IV - 3
  6118.  
  6119.  
  6120. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6121.  
  6122.  
  6123.      The hexadecimal number representing flags that should be set when the
  6124.      listed file is found on the system.
  6125.  
  6126.      The rest of the line may be used for a brief comment.
  6127.  
  6128.      You may use the following flags:
  6129.  
  6130.      bit 0  (0001)  Do not perform heuristic analysis
  6131.      bit 1: (0002)  Ignore CRC changes (self-modifying file)
  6132.      bit 2: (0004)  Scan for all signatures (lan remote boot file) 
  6133.      bit 3: (0008)  Do not change read-only attribute of this file 
  6134.      bit 4: (0010)  The program stays resident in memory
  6135.      bit 5: (0020)  The program performs direct disk access
  6136.      bit 6: (0040)  Program is allowed to remove read-only attributes
  6137.      bit 15:(8000)  Interrupt rehook required for TbDriver.Exe
  6138.  
  6139.  
  6140.      This is what the entries in TbSetup.Dat look like:
  6141.  
  6142.           ; filename   Length 32-bit CRC  Flags  Comment
  6143.  
  6144.           ; Files that trigger the heuristic alarm of TbScan:
  6145.           4DOS.COM     19FEA         *    0001   ;4Dos 4.0a
  6146.           AFD.COM      0FEFE  4B351A86    0001   ;AFD debugger
  6147.           ARGV0FIX.COM 001D8  431E70C0    0001   ;Argv[0]fix
  6148.           EXE2COM.EXE  00BEA  49276F89    0001   ;Exe to Com conv. utility
  6149.           KILL.EXE     00632  74D41811    0001   ;PcTools 6.0 utility
  6150.           WATCH.COM    003E1  2353625D    0001   ;TSR monitoring utility
  6151.  
  6152.           ; Files that need to be scanned completely, for ALL viruses:
  6153.           NET$DOS.SYS      *         *    0004   ;Disk image Novell boot
  6154.  
  6155.           ; Files without fixed checksum due to internal config area's:
  6156.           Q.EXE            *         *    000A    ;Qedit (all versions)
  6157.           TBCONFIG.COM     *         *    000A    ;all versions
  6158.  
  6159.  
  6160.      Defining new entries
  6161.  
  6162.      If you have any files that should be included in the list, please let us
  6163.      know! We would like to receive a copy to enhance our products and keep
  6164.      TbSetup.Dat up to date. Candidates for inclusion would be any program
  6165.      that triggers the heuristic analysis of TbScan. Whenever you choose
  6166.      'V)alidate program' in the TbScan message window, you will find that on
  6167.      subsequent occasions TbSetup displays the value '0001' in the flags
  6168.      field. If your company has many files like this installed on multiple
  6169.      machines, you may want to include these files in the TbSetup.Dat file
  6170.      yourself. In order to do that execute TbSetup for the file in question
  6171.      and make a note of its filelength and 32-bit CRC, as displayed on the
  6172.      screen. Then edit the TbSetup.Dat file entering the exact filename, the
  6173.      file length and the CRC number, plus the number of any flags you wish to
  6174.  
  6175.  
  6176.                                       IV - 4
  6177.  
  6178.  
  6179. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6180.  
  6181.  
  6182.      set for that file. If you now use TbSetup on another machine it will set
  6183.      the appropriate flags automatically.
  6184.  
  6185. =>   Note:You may manually set or clear a flag field value when executing
  6186.      TbSetup at the DOS prompt with option 'set' and 'reset' as follows:
  6187.  
  6188.           TBSETUP TEST.EXE SET=0001
  6189.  
  6190.  
  6191. 2.3. TBAV site installation
  6192.  
  6193.      If you have to install the TBAV utilities on a lot of machines in one
  6194.      company, it would be tedious to invoke for instance every single TSR and
  6195.      disk utility on each machine in order to 'teach' TBAV which programs are
  6196.      valid and which are not. Fortunately, this is not necessary. In the
  6197.      present section, three examples are presented on how to simplify instal-
  6198.      lation on several machines.
  6199.  
  6200.      1.   If a resident utility named, for instance, TSRUTIL.EXE is used
  6201.           throughout the company, you can predefine permission by using
  6202.           TbSetup to determine the length and CRC of the program. Now put the
  6203.           name of this program along with the other information in the file
  6204.           TbSetup.Dat and assign the value '0010' to it. 
  6205.  
  6206.      Example:
  6207.           TSRUTIL.EXE  01286  E387AB21  0010  ;Our TSR utility
  6208.  
  6209.  
  6210.      2.   If a disk utility named, for instance, DISKUTIL.EXE is used throug-
  6211.           hout the company, you can predefine permission by using TbSetup to
  6212.           determine the length and CRC of the program. Now put the name of
  6213.           this program along with the other information in the file TbSetup.
  6214.           dat and assign the value '0020' to it.
  6215.  
  6216.      Example:
  6217.           DISKUTIL.EXE  01286  E387AB21  0020  ;Our DISK utility
  6218.  
  6219.      If you now execute TbSetup on every machine (you have to do this anyway)
  6220.      it will recognize this utility and it will set the disk access permissi-
  6221.      on flag for TbMem / TbDisk automatically.
  6222.  
  6223.      3.   If a utility named, for instance, UTIL.EXE is used throughout the
  6224.           company which causes TbScan to give false positives, you can
  6225.           predefine TbSetup to avoid heuristic scanning of the relevant
  6226.           program. Put the name of this program along with the other informa-
  6227.           tion in the file TbSetup.Dat and assign the value '0001' to it.
  6228.  
  6229.  
  6230.  
  6231.  
  6232.  
  6233.  
  6234.  
  6235.                                       IV - 5
  6236.  
  6237.  
  6238. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6239.  
  6240.  
  6241.      Example:
  6242.           UTIL.EXE  01286  E387AB21  0001  ;Our utility
  6243.  
  6244.      If you now execute TbSetup on every machine (you have to do this anyway)
  6245.      it will recognize this utility and TbScan will not perform heuristic
  6246.      scanning.
  6247.  
  6248.      Also consult the TbSetup.Dat file.
  6249.  
  6250.  
  6251.  
  6252.  
  6253.  
  6254.  
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.  
  6265.  
  6266.  
  6267.  
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.  
  6275.  
  6276.  
  6277.  
  6278.  
  6279.  
  6280.  
  6281.  
  6282.  
  6283.  
  6284.  
  6285.  
  6286.  
  6287.  
  6288.  
  6289.  
  6290.  
  6291.  
  6292.  
  6293.  
  6294.                                       IV - 6
  6295.  
  6296.  
  6297. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6298.  
  6299.  
  6300. 3. TbScan
  6301.  
  6302. 3.1. Heuristic scanning
  6303.  
  6304.      TbScan is not just a signature scanner. It also disassembles the file
  6305.      being processed, for the following purposes:
  6306.  
  6307.      1)   By disassembling the file the scanner can restrict itself to the
  6308.           area of the file where the virus might reside, reducing false
  6309.           alarms and speeding up the process.
  6310.  
  6311.      2)   It makes it possible to use the algorithmic detection method on
  6312.           encrypted viruses whose signatures would otherwise remain invisible
  6313.           to the scanner.
  6314.  
  6315.      3)   And it makes it possible to detect suspicious instruction sequen-
  6316.           ces.
  6317.  
  6318.      The detection of suspicious instruction sequences is named 'heuristic
  6319.      scanning'. It is a very powerful feature that enables you to detect new
  6320.      or modified viruses and to verify the results of the signature scan. You
  6321.      no longer have to rely on the scanner's publisher having the same virus
  6322.      as you might have. In normal cases a scanner can only find a virus if
  6323.      the scanner's publisher did have a sample of that virus, in order to
  6324.      make a suitable signature. With heuristic scanning a signature is no
  6325.      longer required, enabling the scanner to detect yet unknown viruses. You
  6326.      should not underestimate the importance of heuristic scanning, since
  6327.      every month at least 50 new viruses are reported. It is very unlikely
  6328.      that a publisher is the first one to get these new viruses...
  6329.  
  6330.  
  6331.      Heuristic level 1                       Heuristic level 2
  6332.      ------------------------------------------------------------
  6333.      Always enabled                          Only with option 'heuris
  6334.                                              tic' or after a virus has been
  6335.                                              found. 
  6336.      Detects 50% of the unknown viruses.     Detects 90% of the viruses
  6337.      Almost never causes false alarms.       Causes a few false alarms.
  6338.      Displays 'Probably infected'            Displays 'Might be infec
  6339.                                              ted'
  6340.  
  6341.  
  6342.      TEST.EXE <scanning...>         OK  (no flags)
  6343.      TEST.EXE <scanning...> R       OK  (nothing serious)
  6344.      TEST.EXE <scanning...> FRM         might be infected by unknown virus
  6345.      TEST.EXE <scanning...> FRALM#      probably infected by unknown virus  
  6346.  
  6347.      How does heuristic scanning actually work? Every program contains
  6348.      instructions for the PC's processor. By looking into the file's contents
  6349.      and by interpreting the instructions TbScan is able to detect the
  6350.      purpose of these instructions. If the purpose seems to be to format a
  6351.      disk, or to infect a file, TbScan issues a warning. There are a lot of
  6352.  
  6353.                                       IV - 7
  6354.  
  6355.  
  6356. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6357.  
  6358.  
  6359.      instruction sequences which are very common for viruses, but very
  6360.      uncommon for normal programs. Every suspicious instruction sequence is
  6361.      assigned to a character: a heuristic flag. Every heuristic flag denotes
  6362.      a score. If the total score exceeds a predefined limit, TbScan assumes
  6363.      the file contains a virus. 
  6364.  
  6365.      There are actually two predefined limits: the first one is quite sensi-
  6366.      tive and can be reached by some normal innocent programs. If this limit
  6367.      is reached, TbScan highlights the heuristic flags that are displayed on
  6368.      the screen and increases the 'suspected items' counter. TbScan does not
  6369.      indicate the existence of a virus, unless you have specified the 'heu-
  6370.      ristic' option. If you do have specified this option, TbScan tells you
  6371.      the file 'Might be infected by an unknown virus'. 
  6372.  
  6373.      The second heuristic limit will be triggered by a lot of viruses, but
  6374.      not by normal programs. If this limit is reached TbScan tells you that
  6375.      the file is 'Probably infected by an unknown virus.'
  6376.  
  6377. =>   Note: TbScan performs heuristic analysis only nearby the entry-point of
  6378.      a file. Therefore, TbScan does not detect direct writes to disk by some
  6379.      disk utilities nor does TbScan detect some programs as TSR programs.
  6380.      This is just the result of a specific approach to minimize false alarms.
  6381.      In case of a virus, the offending instructions are always nearby the
  6382.      entry-point (except when the virus is over 10Kb in size) so TbScan will
  6383.      detect suspicious phenomenons in these situations anyway. 
  6384.  
  6385.  
  6386. 3.2. Integrity checking
  6387.  
  6388.      TbScan will perform integrity checking while scanning. You have to use
  6389.      TbSetup to generate the Anti-Vir.Dat files. Once these files exist on
  6390.      your system TbScan will check that every file being scanned matches the
  6391.      information maintained in the Anti-Vir.Dat files. If a virus infects a
  6392.      file, the maintained information will not match anymore with the now
  6393.      changed file, and TbScan will inform you about this. There are no
  6394.      (command line) options to enable this feature: TbScan will perform
  6395.      integrity checking automatically if it detects the Anti-Vir.Dat files.
  6396.      Note that TbScan only reports file changes that could indicate a virus.
  6397.      Internal configuration areas of program files may also change, but
  6398.      TbScan does normally not report this. However, if a file gets infected
  6399.      with any virus -known or unknown - the vital information will change and
  6400.      TbScan will indeed report it to you!
  6401.  
  6402.      It is however possible that the checked file changes itself or changes
  6403.      frequently due to another cause. In this case you might want to exclude
  6404.      the program from integrity checking to avoid future false alarms. TbScan
  6405.      will offer you an additional menu option: 'V)alidate program'. For more
  6406.      information about this menu option consult 'Program validation' (page 6
  6407.      of this section).
  6408.  
  6409.  
  6410.  
  6411.  
  6412.                                       IV - 8
  6413.  
  6414.  
  6415. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6416.  
  6417.  
  6418. 3.3. Program validation
  6419.  
  6420.      This chapter only applies if you use TbSetup to generate the Anti-
  6421.      Vir.Dat records. Without these records program validation is not an
  6422.      option.
  6423.  
  6424.      TbScan will perform as intended on most programs. There are some pro-
  6425.      grams, however, that require special attention in order to avoid false
  6426.      alarms. Most of these programs are recognized automatically by the
  6427.      TbSetup program. Nevertheless it is certainly possible your PC contains
  6428.      some program files which trigger the heuristic alarm of TbScan and/or
  6429.      programs files which change frequently.
  6430.  
  6431.      If an 'infection' has been found with the heuristic analysis or integri-
  6432.      ty checking only and if there is an Anti-Vir.Dat record available,
  6433.      TbScan offers an additional option in its virus-alert window:  
  6434.  
  6435.           'V)alidate program'
  6436.  
  6437.      If you are convinced that the indicated program does not contain a
  6438.      virus, you can press 'V' to set a flag in the program's record. This
  6439.      makes it possible to avoid future false alarms.
  6440.  
  6441.      There are two validation modes. If TbScan alarms you due to a file
  6442.      change, the validation applies to future file changes only. If the alarm
  6443.      is due to heuristic analysis, the validation only applies to heuristic
  6444.      results. If the file is excluded from heuristic analysis the file will
  6445.      still be checksummed.  If the file is excluded from integrity checking
  6446.      TbScan will still perform heuristic analysis on the file.
  6447.  
  6448. =>   Note: if you replaced a file (software upgrade) and you did not use
  6449.      TbSetup, TbScan will pop-up its virus alert window to inform you about
  6450.      the file change. Do not select the validation option in this case,
  6451.      because this would exclude the file for future integrity checking. You
  6452.      should abort TbScan and execute TbSetup on the changed file(s) instead.
  6453.  
  6454.  
  6455. 3.4. The algorithms
  6456.  
  6457.      When TbScan processes a file it will display either 'Looking', 'Chec-
  6458.      king', 'Tracing', 'Scanning', 'Decrypting' or 'Skipping'.
  6459.  
  6460.      Looking
  6461.  
  6462.      With 'Looking' TbScan indicates it has successfully located the entry
  6463.      point of the program in one step. The program code has been identified
  6464.      so TbScan knows where to search without the need of additional analysis.
  6465.      'Looking' will be used on most known software.
  6466.  
  6467.  
  6468.  
  6469.  
  6470.  
  6471.                                       IV - 9
  6472.  
  6473.  
  6474. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6475.  
  6476.  
  6477.      Checking
  6478.  
  6479.      'Checking' indicates TbScan has successfully located the entry point of
  6480.      the program, and is scanning a frame of about 2Kb around the entry
  6481.      point. If the file is infected, the virus' signature will be located in
  6482.      this area. 'Checking' is a very fast and reliable scan algorithm.
  6483.      Checking will be used on most unknown software.
  6484.  
  6485.      Tracing
  6486.  
  6487.      'Tracing' means that TbScan has successfully traced a chain of jumps or
  6488.      calls while locating the entry-point of the program, and is scanning a
  6489.      frame of about 2Kb around this location. If the file has been infected,
  6490.      the signature of the virus will be located in this area. 'Tracing' is a
  6491.      fast and reliable scan algorithm. Tracing will be primarily used for
  6492.      TSR-type COM files. Most viruses will force TbScan to use 'Tracing'.
  6493.  
  6494.      Scanning
  6495.  
  6496.      TbScan is scanning the entire file (except for the exe-header which
  6497.      cannot contain any viral code). This algorithm will be used if 'Look-
  6498.      ing', 'Checking' or 'Tracing' can't be used safely. This is the case
  6499.      when the entry-point of the program contains other jumps and calls to
  6500.      code located outside the scanning frame, or when the heuristic analyzer
  6501.      found something that should be investigated more thoroughly. 'Scanning'
  6502.      is a slow algorithm. Since it processes almost the entire file, inclu-
  6503.      ding data areas, false alarms are more likely to occur. The 'Scanning'
  6504.      algorithm will be used while scanning bootsectors, SYS and BIN files.
  6505.  
  6506.      Decrypting
  6507.  
  6508.      TbScan detected that the file is encrypted, and decrypts it to be able
  6509.      to 'look inside'. TbScan performs signature scanning and heuristic
  6510.      analysis on the decrypted code since that is very reliable and also
  6511.      reveals polymorphic viruses.
  6512.  
  6513.      Skipping
  6514.  
  6515.      'Skipping' will occur with SYS and OVL files only. It simply means that
  6516.      the file will not be scanned. As there are many SYS files containing no
  6517.      code at all (like CONFIG.SYS), it makes absolutely no sense to scan
  6518.      these files for viruses. The same applies to .OV? files. Many overlay
  6519.      files do not deserve to be called as such as they lack an exe-header.
  6520.      Such files cannot be invoked through DOS, which makes them just as
  6521.      invulnerable to direct virus attacks as .TXT files are. If a virus is
  6522.      reported to have infected an .OV? file, it involved one of the relative-
  6523.      ly few overlay files which do contain an exe-header. In that case the
  6524.      infection was the result of the virus monitoring the DOS exec-call
  6525.      (function 4Bh) and infecting any program being invoked that way, inclu-
  6526.      ding 'real' overlay files.
  6527.  
  6528.  
  6529.  
  6530.                                       IV - 10
  6531.  
  6532.  
  6533. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6534.  
  6535.  
  6536. 3.5. The TbScan.Lng file
  6537.  
  6538.      The TbScan.Lng file contains all texts being displayed by TbScan. You
  6539.      can translate or customize the messages with any ASCII editor.
  6540.  
  6541.      The messages are separated by the dollar sign ($). The first message
  6542.      displays our address and registration info. You can edit this message as
  6543.      you please, for instance adding your company logo.
  6544.  
  6545.      You may add color codes to the TbScan.Lng file. A color code is precee-
  6546.      ded by the character '|'. The following color codes are available: (all
  6547.      numbers are in hex).
  6548.  
  6549.      Color          Foreground Highlight   Background
  6550.  
  6551.      Black          00         08          00
  6552.      Blue           01         09          10
  6553.      Green          02         0A          20
  6554.      Cyan           03         0B          30
  6555.      Red            04         0C          40
  6556.      Magenta        05         0D          50
  6557.      Yellow/Brown   06         0E          60
  6558.      White/gray     07         0F          70
  6559.  
  6560.  
  6561.      Example:  To make a highligted green character on a red background the
  6562.                color code would be 0A+40=4A. To make the character blink add
  6563.                80h to the result.
  6564.  
  6565.  
  6566. 3.6. The TBAV.MSG file
  6567.  
  6568.      The TBAV menu shell will display the contents of a file named TBAV.MSG
  6569.      if it exists. You can use this feature to put your company logo on the
  6570.      TBAV screen. You can embed color codes in this file. Consult section 3.5
  6571.      ('The TbScan.Lng file') for more information about color codes.
  6572.  
  6573.  
  6574.  
  6575.  
  6576.  
  6577.  
  6578.  
  6579.  
  6580.  
  6581.  
  6582.  
  6583.  
  6584.  
  6585.  
  6586.  
  6587.  
  6588.  
  6589.                                       IV - 11
  6590.  
  6591.  
  6592. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6593.  
  6594.  
  6595. 4. TbClean
  6596.  
  6597.      In order to understand the way a cleaning program operates, try to
  6598.      imagine how a virus usually goes about infecting a program. The basic
  6599.      principle is not difficult. A virus - just another program really - adds
  6600.      itself to the end of the program it is going to infect. The additional
  6601.      viral code, naturally, increases the size of the program. But simply
  6602.      appending a viral program to another program is not enough, to do any
  6603.      real harm - the viral code has to be executed first. So, the virus grabs
  6604.      the first few bytes at the start of the program, and replaces them with
  6605.      a 'jump' instruction to its own viral code. That way the virus is able
  6606.      to take control as soon as the program is started. Chances are you will
  6607.      never even notice the momentary delay while the extra code is executed,
  6608.      doing whatever the virus has been programmed to do. The virus then
  6609.      restores the original instructions and restarts the program (jump to the
  6610.      start). Your program, more often than not, works as usual - and it goes
  6611.      without saying that any virus worth its salt will make sure it isn't
  6612.      going to draw undue attention too soon! 
  6613.  
  6614.      So, in order to purge a program, we must first restore the starting
  6615.      instruction bytes, which the virus replaced with the jump to its own
  6616.      code. The virus is going to need these bytes again later on, so they
  6617.      will be stored somewhere in the viral code. The cleaner starts out to
  6618.      find those bytes, puts them back in their old place, and truncates the
  6619.      file to the original size.
  6620.  
  6621.      Cleaner programs basically come in two types - the conventional type,
  6622.      for specific types of viruses, and the far more advanced generic clea-
  6623.      ner, offering a much wider scope. Let's take a closer look at both
  6624.      cleaner types and find out where they differ.
  6625.  
  6626.  
  6627.      Conventional cleaners
  6628.  
  6629.      A conventional cleaner has to know which virus to remove. Suppose your
  6630.      system is infected with a Jerusalem/PLO virus. When you start such a
  6631.      conventional cleaner, a procedure much like the following will take
  6632.      place:
  6633.  
  6634.  
  6635.  
  6636.  
  6637.  
  6638.  
  6639.  
  6640.  
  6641.  
  6642.  
  6643.  
  6644.  
  6645.  
  6646.  
  6647.  
  6648.                                       IV - 12
  6649.  
  6650.  
  6651. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6652.  
  6653.  
  6654.          original program        infected program
  6655.  
  6656.          +--------------+        +--------------+
  6657.          |              |        |              |
  6658.          | p            |  100:  |jump          |
  6659.          | r            |        |to 2487       |
  6660.          | o            |        | o            |
  6661.          | g            |        | g            |
  6662.          | r            |        | r            |
  6663.          | a            |        | a            |
  6664.          | m            |        | m            |
  6665.          |              |        |              |
  6666.          | c            |        | c            |
  6667.          | o            |        | o            |
  6668.          | d            |        | d            |
  6669.          | e            |        | e            |
  6670.          |              |        |              |
  6671.          +--------------+        +--------------+
  6672.                            2487: |              |
  6673.                                  |  VIRUS!    p |
  6674.                                  |            r |
  6675.                                  |jmp 100       |
  6676.                                  +--------------+
  6677.  
  6678.  
  6679.      The virus has itself linked to the program start, and after it rstored
  6680.      the original bytes (the 'pr' in this example) it jumps then back to the
  6681.      original program start.
  6682.  
  6683.      The conventional cleaner: 'Hey, the signature file tells me this file is
  6684.      infected with the Jerusalem/PLO virus. Ok, let's see, this virus tacks
  6685.      on 1783 bytes at the end, and it overwrites the first three bytes of the
  6686.      original program with a jump to itself. The original bytes are located
  6687.      at offset 483 in the viral code. So, I have to take those bytes, copy
  6688.      them to the beginning of the file, and I have to remove 1873 bytes of
  6689.      the file. That's it!'
  6690.  
  6691.      There are several pitfalls to worry about in a scenario like this.
  6692.      Obviously, the cleaner has to be given some means to recognize the virus
  6693.      it is supposed to remove. A conventional cleaner cannot cope with a
  6694.      virus unless it knows what to look for. It is even more important to
  6695.      establish the fact that the virus is exactly the same one that the
  6696.      cleaner knows about after checking the validation data. Imagine what
  6697.      whould happen if the virus used in the example had been modified and is
  6698.      now 1869 bytes in size instead of 1873... The cleaner would remove too
  6699.      much! This is not an exceptional case, certainly not after the unslaught
  6700.      of countless so-called mutant straints. The Jerusalem/PLO family, to
  6701.      name but one example, now has more than 100 mutant members!
  6702.  
  6703.  
  6704.  
  6705.  
  6706.  
  6707.                                       IV - 13
  6708.  
  6709.  
  6710. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6711.  
  6712.  
  6713.      Generic cleaners
  6714.  
  6715.      A generic cleaner works on the principle that any kind of virus -
  6716.      whether or not it has made the signature 'charts' - is bad news. That's
  6717.      why TbClean works with a completely different disinfection scheme that
  6718.      is effective with almost all viruses - it does not even need to recogni-
  6719.      ze them. Actually, TbClean represents two cleaners in one: a 'repair'
  6720.      cleaner and a 'heuristic' cleaner.
  6721.  
  6722.      Repair cleaning
  6723.  
  6724.      Repair cleaning needs an Anti-Vir.Dat file that was generated by TbSetup
  6725.      before the infection occurred. The Anti-Vir.Dat file stores vital
  6726.      information about programs, including their original size, the first few
  6727.      instruction codes and a cryptographic checksum. This information is
  6728.      usually all it takes to disinfect a file, no matter what virus, known or
  6729.      unknown, caused the infection. The cleaner will simply restore the bytes
  6730.      at the beginning of the program, truncate the file to the original size,
  6731.      and verify the result by way of the original checksum.
  6732.  
  6733.  
  6734.      Heuristic cleaning
  6735.  
  6736.      TbClean is the first cleaner in the world that has a heuristic cleaning
  6737.      mode. This mode does not need any information about viruses either, but
  6738.      it has the added advantage that it doesn't even care about the original,
  6739.      uninfected state of a program. This cleaning mode is very effective if
  6740.      your system is infected with an unknown virus and you neglected to let
  6741.      TbSetup generate the Anti-Vir.Dat files in time.
  6742.  
  6743.      In heuristic mode, TbClean loads the infected file and starts emulating
  6744.      the program code. It uses a combination of disassembly, emulation and,
  6745.      sometimes, execution to trace the flow of the viral code, pretending to
  6746.      do more or less exactly what the virus would normally be doing. When the
  6747.      virus gets to the original program's instructions and jumps back to the
  6748.      original program code, TbClean stops the emulation process, with a
  6749.      'thank you' to the virus for its cooperation in restoring the original
  6750.      bytes. 
  6751.  
  6752.      The actual cleaning process involves almost the same three steps as with
  6753.      repair cleaning. First the program startup code is repaired and copied
  6754.      back to the file. Then the viral code, now rendered useless and ineffec-
  6755.      tive, is removed and, for the sake of security, TbClean will do a final
  6756.      analysis of the purged program file.
  6757.  
  6758.  
  6759.  
  6760.  
  6761.  
  6762.  
  6763.  
  6764.  
  6765.  
  6766.                                       IV - 14
  6767.  
  6768.  
  6769. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6770.  
  6771.  
  6772. 5. TbGensig
  6773.  
  6774. 5.1 The Purpose of TbGenSig
  6775.  
  6776.      TbGenSig is a signature file compiler. Since TBAV is distributed with an
  6777.      up to date, ready-to-use signature file, you do not really need the
  6778.      signature file compiler.
  6779.  
  6780.      If, however, you want to define your own virus signatures, you will need
  6781.      the TbGensig utility. You can use either published signatures or define
  6782.      your own ones if you are familiar with the structure of software.
  6783.  
  6784.      One way or another, you only need to do this in case of an emergency,
  6785.      like in case of the unfortunate event that your machine or even your
  6786.      company is attacked by a yet unknown, thus not recognized virus. It is
  6787.      recommended to send a few samples of the virus to some virus experts
  6788.      anyway, in order to let scanners recognize the virus in the next upgra-
  6789.      de.
  6790.  
  6791.      Since it is not possible to explain the whole subject of virus hunting
  6792.      in one manual, this document assumes you have enough experience and
  6793.      knowledge to make your own signatures.
  6794.  
  6795.      TbGenSig searches for a file named UserSig.Dat in the current directory.
  6796.      This file should contain the signatures you want to add to the TBAV
  6797.      signature file TbScan.Sig. TbGenSig checks the contents of the User-
  6798.      Sig.Dat file and applies it to the TbScan.Sig file.
  6799.  
  6800.      If you want to delete or modify your signatures, just edit or delete the
  6801.      UserSig.Dat file and execute TbGenSig again.
  6802.  
  6803.      TbGenSig will list all signatures in the TbScan.Sig file on screen while
  6804.      being executed.
  6805.  
  6806.  
  6807. 5.2 Defining signatures
  6808.  
  6809.      Format of the  UserSig.dat text
  6810.  
  6811.      You can create and edit the UserSig.Dat file with every DOS editor which
  6812.      is able to output unformatted text. All lines starting with ';' are
  6813.      comment lines. TbGenSig file ignores these lines.
  6814.  
  6815.      Lines starting with '%' will be displayed in the upper TbGenSig window.
  6816.  
  6817.      In the first line the name of a virus is expected. The second line
  6818.      contains one or more keywords. The third line contains the signature
  6819.      itself. This combination of three lines is called a 'signature record'.
  6820.  
  6821.  
  6822.  
  6823.  
  6824.  
  6825.                                       IV - 15
  6826.  
  6827.  
  6828. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6829.  
  6830.  
  6831.      A signature record should look like this:
  6832.  
  6833.           Test virus
  6834.           exe com inf
  6835.           abcd21436587abcd
  6836.  
  6837.      You may use spaces in the signature for your own convenience. TbGenSig
  6838.      will ignore these spaces.
  6839.  
  6840.  
  6841.      Adding a published signature    
  6842.  
  6843.      If you want to add a signature that has been published, you should act
  6844.      as illustrated below.
  6845.  
  6846.      -    Edit or create the UserSig.Dat file. Convert the published signatu-
  6847.           re to an acceptable format for TbGenSig.
  6848.  
  6849.      -    Use keywords COM EXE BOOT INF
  6850.  
  6851.           You would get:
  6852.  
  6853.           New virus
  6854.           exe com boot inf
  6855.           1234abcd5678efab
  6856.  
  6857.      -    Execute TbGenSig.
  6858.  
  6859.  
  6860.      Defining a Signature with TBScan
  6861.  
  6862.      This section is intended for advanced users who own a TBAV.KEY file.
  6863.  
  6864.      Although the TbScan.Sig file is updated frequently, new viruses are
  6865.      created every day, outpacing the regular upgrading service of this data
  6866.      file. It is therefore possible that one day your system gets infected by
  6867.      a recently created virus that has not yet been listed in the signature
  6868.      file. TbScan will not always detect the virus in such cases, not even
  6869.      with the heuristic analysis. If you are convinced that your system must
  6870.      have been infected without TbScan confirming this, thischapter will
  6871.      supply you with a valuable tool to detect unknown viruses with. This
  6872.      section offers step-by-step assistance in creating an emergency signatu-
  6873.      re that can be (temporarily) added to your copy of TbScan.Sig
  6874.  
  6875.      -    Collect some infected files and copy them into a temporary directo-
  6876.           ry.
  6877.  
  6878.      -    Boot from a clean write-protected diskette. Do NOT execute ANY
  6879.           program from the infected system, even though you expect this
  6880.           program to be clean.
  6881.  
  6882.  
  6883.  
  6884.                                       IV - 16
  6885.  
  6886.  
  6887. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6888.  
  6889.  
  6890.      -    Execute TbScan from your write-protected TbScan diskette with the
  6891.           'extract' option set. Make sure that the temporary directory where
  6892.           you stored the infected files will be TbScan's target directory.
  6893.           With its 'extract' option set, TbScan will NOT scan the files but,
  6894.           instead, display the first instructions that are found at the
  6895.           entry-point of the infected programs. 
  6896.  
  6897.  
  6898. =>   Please note that we highly recommend you to simultaneously set the 'log'
  6899.      option of TbScan to generate a log file.
  6900.  
  6901.      -    Compare the 'signatures' extracted by TbScan. You should see
  6902.           something like this:
  6903.  
  6904.  
  6905.           NOVIRUS1.COM    2E67BCDEAB129090909090ABCD123490CD
  6906.           NOVIRUS2.COM    N/A
  6907.           VIRUS1.COM      1234ABCD5678EFAB909090ABCD123478FF
  6908.           VIRUS2.COM      1234ABCD5678EFAB901234ABCD123478FF
  6909.           VIRUS3.COM      1234ABCD5678EFAB9A5678ABCD123478FF
  6910.  
  6911.      If the 'signatures' are completely different, the files are either
  6912.      probably not infected, or they have been infected by a polymorphic virus
  6913.      that requires an algorithmic detection module to detect it.
  6914.  
  6915.      -    There might be some differences in the 'signatures'. You can use
  6916.           the question mark wildcard ('?') in this case.
  6917.  
  6918.      A signature to detect the 'virus' in the example above could be:
  6919.  
  6920.           1234ABCD5678EFAB ?3 ABCD123478FF
  6921.  
  6922.      The '?3' means that there are three bytes on that position that should
  6923.      be skipped.
  6924.  
  6925.      -    Add the signature to the data file UserSig.Dat. Give the virus a
  6926.           name in the first line of its entry. Specify the following key-
  6927.           words: COM, EXE, INF, ATE in the second line. Enter the signature
  6928.           in the third.
  6929.  
  6930.  
  6931.      You would get:
  6932.  
  6933.           New virus
  6934.           exe com ate inf
  6935.           1234abcd5678efab?3abcd123478ff
  6936.  
  6937.  
  6938.      -    Execute TbGenSig. Make sure the resulting TbScan.Sig file is in the
  6939.           TbScan directory.
  6940.  
  6941.  
  6942.  
  6943.                                       IV - 17
  6944.  
  6945.  
  6946. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  6947.  
  6948.  
  6949.      -    Execute TbScan again in the directory containing the infected
  6950.           files. TbScan should now detect the virus.
  6951.  
  6952.      -    Send a couple of infected files to a recommended virus expert,
  6953.           preferably to the ThunderBYTE organisation.
  6954.  
  6955.      Congratulations! You have defined a signature all by yourself! Now you
  6956.      can scan all your machines in search of the new virus.
  6957.      However, keep in mind that this method of extracting a signature is a
  6958.      'quick-and-dirty' solution to viral problems. The extracted signature
  6959.      might not detect the presence of the virus in all cases. A signature
  6960.      that is guaranteed to detect all instances of the virus can be made only
  6961.      after complete disassembly of the new virus. For these reasons you
  6962.      should NOT distribute your home-made 'signature' to others. The signatu-
  6963.      re eventually assembled by experienced anti-virus researchers will be
  6964.      completely different in most cases!
  6965.  
  6966.  
  6967. 5.3 Keywords
  6968.  
  6969.      Keywords are used for several purposes. They are classified in catego-
  6970.      ries. Keywords may be separated by spaces, commas or tabs. The maximum
  6971.      line length is 80 characters.
  6972.  
  6973.      At least one of the following flags should be specified:
  6974.      BOOT, COM, EXE, HIGH, LOW, SYS or WIN.
  6975.  
  6976.  
  6977.      Item keywords
  6978.  
  6979.  
  6980.      BOOT       Signature can be found in bootsector/partition
  6981.      COM        Signature can be found in COM programs.                  
  6982.  
  6983.      This flag initiates the scanner to search for this signature in executa-
  6984.      ble files that do not have an EXE header or device header.
  6985. =>   Note:   The file contents determines the file type, not the filename
  6986.      extension!
  6987.  
  6988.  
  6989.      EXE        Signature can be found in EXE programs.
  6990.  
  6991.      This flag initiates the scanner to search for this signature in the load
  6992.      module of EXE type files. EXE files are files that have an EXE header.
  6993. =>   Note: The file contents determines the file type, not the filename
  6994.      extension!
  6995.  
  6996.  
  6997.      HIGH      Signature can be found in HIGH memory (above program).This
  6998.                flag initiates the scanner to search for this signature in
  6999.                memory above the memory allocated by the scanner.
  7000.  
  7001.  
  7002.                                       IV - 18
  7003.  
  7004.  
  7005. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  7006.  
  7007.  
  7008.      This keyword is intended for resident viruses that allocate memory at
  7009.      system boot, or viruses that decrease the size of the last MCB (Memory
  7010.      Control Block).
  7011. =>   Note:  The flag HIGH does not mean that the signature should be searched
  7012.      in UPPER memory.
  7013.  
  7014.  
  7015.      LOW       Signature can be found in LOW memory. This flag initiates the
  7016.                scanner to search for this signature in memory below the PSP
  7017.                (Program Segment Prefix) of the scanner and in the UMB (Upper
  7018.                Memory Blocks). This keyword is intended for viruses that
  7019.                remain resident in memory, using the normal DOS TSR (Terminate
  7020.                and Stay Resident) function calls. 
  7021.  
  7022.  
  7023.      SYS       Signature can be found in SYS programs.
  7024.  
  7025.  
  7026.      WIN       Signature can be found in Windows programs.
  7027.  
  7028.  
  7029.      Message keywords
  7030.  
  7031.      DAM        Message prefix:  'damaged by'.
  7032.      DROP       Message prefix:  'dropper of'.
  7033.      FND        Message prefix:  'found the'.
  7034.      INF        Message prefix:  'infected by' 
  7035.                 Message suffix:  'virus'
  7036.      JOKE       Message prefix:  'joke named'.
  7037.      OVW        Message prefix:  'overwritten by'.
  7038.      PROB       Mess. pre-prefix:'probably'.
  7039.      TROJ       Message prefix:  'trojanized by'.
  7040.  
  7041.  
  7042.  
  7043.      Position keywords
  7044.  
  7045.  
  7046.      UATE      Signature should be found at unresolved entry-point.
  7047.  
  7048.      Purpose:
  7049.      The signature starts directly at the unresolved entry-point of the viral
  7050.      code. With some polymorphic viruses, it may be possible to create a
  7051.      signature from the degarbling routine, although it may either be too
  7052.      short or give false positives with a global search. An initial branch
  7053.      instruction  may be part of the signature.
  7054.  
  7055.                 COM type files:  top of file (IP 0100h).
  7056.                 EXE type files:  CS:IP as defined in the
  7057.                                  EXE-header.
  7058.                 WIN type files:  Non-DOS CS:IP of the new
  7059.                                  EXE-header.
  7060.  
  7061.                                       IV - 19
  7062.  
  7063.  
  7064. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  7065.  
  7066.  
  7067.      Remarks:
  7068.      The keyword UATE is not allowed for BOOT, SYS, LOW, HMA or HIGH type
  7069.      signatures.
  7070.  
  7071.  
  7072.      ATE        Signature should be found AT ENTRY point.
  7073.  
  7074.      Purpose:
  7075.      The signature starts directly at the entry-point of the viral code. With
  7076.      some polymorphic viruses, it may be possible to create a signature from
  7077.      the degarbling routine, although it may either be too short or give
  7078.      false positives with a global search.
  7079.  
  7080.      Therefore the keyword ATE is used to make sure that the scanners do not
  7081.      scan the entire file for the signature, but only look at the entry-point
  7082.      for the signature.
  7083.  
  7084.      The entry-point of a virus is defined by the first byte that is not
  7085.      equal to either a JUMP SHORT, JUMP LONG or a CALL NEAR.
  7086.  
  7087.                 Unresolved entry point:1JUMP LONG   3
  7088.                                      2 ...
  7089.                                      3 JUMP SHORT   5
  7090.                                      4 ...
  7091.                                      5 CALL FAR     7
  7092.                                      6 ...
  7093.                                      7 CALL NEAR    9
  7094.                                      8 ...
  7095.                 Resolved entry point:9  POP <reg>
  7096.  
  7097.           The entry-point of the above fragment is Line 9 as this is the
  7098.           first code to be executed which is not a JUMP SHORT, JUMP LONG or
  7099.           CALL  NEAR or CALL FAR.
  7100.  
  7101.      Remarks:
  7102.      1)   The entry-point can be determined by a code analyzer to cope with
  7103.           tricks like coding a NOP or DEC just before the branch instruction.
  7104.           Therefore the results of the scanner should be tested carefully. In
  7105.           case of trouble use the TbScan 'extract' option to find out what
  7106.           TbScan considers to be the entry point of the program. 
  7107.  
  7108.      2)   The flag ATE is not allowed for BOOT, SYS, LOW, HMA or HIGH type
  7109.           signatures.
  7110.  
  7111.  
  7112.      XHD       Signature can be found at offset 2 of the EXE header.
  7113.  
  7114.      Purpose:
  7115.      This position keyword is rarely used. It should only be used to detect
  7116.      the also very rare high-level language viruses; viruses written in a
  7117.      language like C or Basic. These viruses normally contain standard setup
  7118.      routines and library routines which are not suitable to define a signa-
  7119.  
  7120.                                       IV - 20
  7121.  
  7122.  
  7123. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  7124.  
  7125.  
  7126.      ture. The XHD keyword can be used as a last resort to detect such
  7127.      viruses.
  7128.  
  7129.      Remarks:
  7130.      This flag may only be used for EXE or WIN type signatures.
  7131.  
  7132.  
  7133. 5.4 Wildcards
  7134.  
  7135.      In a virus signature, wildcards characters may be used to recognize so
  7136.      called polymorphic (self- modifying/mutating) virus code. Below a
  7137.      description is presented of the wildcard notation. All numbers are in
  7138.      hexadecimal.
  7139.  
  7140.  
  7141.      Position Wildcards
  7142.  
  7143.      Position wildcards affect the position where the parts of the signature
  7144.      will be matched.
  7145.  
  7146.           Skip
  7147.           ?n         =  Skip n amount of bytes and continue.
  7148.           ?@nn       =  Skip nn amount of bytes and continue.
  7149.                          nn should not exceed 7F.
  7150.  
  7151.           Variable
  7152.           *n         =  Skip up to n bytes.
  7153.           *@nn       =  Skip up to nn bytes and continue.
  7154.                          nn should not exceed 1F.
  7155.  
  7156.  
  7157.      Opcode wildcards      
  7158.  
  7159.      The 'opcode' wildcards are shaped to detect instruction ranges:
  7160.  
  7161.           Low opcode
  7162.           nL         =  One of the values in the range n0-n7.
  7163.  
  7164.           High opcode
  7165.           nH         =  One of the values in the range n8-nF.
  7166.  
  7167.  
  7168.      Intended use of the opcode wildcards:
  7169.  
  7170.      Suppose a polymorphic virus puts a value in a word register (using a MOV
  7171.      WREG,VALUE instruction), and increments a register (using an INC WREG
  7172.      instruction, and pops a word register from the stack (using a POP
  7173.      instruction). Both the registers and the value are variable. 
  7174.  
  7175.      You could code it like this:
  7176.           bh4l5h
  7177.  
  7178.  
  7179.                                       IV - 21
  7180.  
  7181.  
  7182. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  7183.  
  7184.  
  7185.      B8-BF are the opcodes for 'MOV WREG,VALUE', 40-47 are the opcodes for
  7186.      'INC WREG', and 58-5F are the opcodes for 'POP REG'.
  7187.  
  7188.  
  7189.      Example
  7190.  
  7191.      To show the power of the use of the appropriate keywords and wildcards
  7192.      here is the signature of the Haifa.Mozkin virus. This virus is highly
  7193.      polymorphic and encrypted. It contains a small variable decryptor to
  7194.      decrypt the virus.
  7195.  
  7196.      There are two problems here: most bytes are encrypted or variable, thus
  7197.      not suitable to be part of a signature, and the remainder is short and
  7198.      would cause dozens of false alarms.
  7199.  
  7200.      However, using the appropriate keywords and wildcards, it is possible to
  7201.      define a reliable signature. The signature below is used by TbScan to
  7202.      detect the Haifa.Mozkin virus.
  7203.  
  7204.           Haifa.Mozkin
  7205.           com exe ate inf
  7206.           bh?2bh?109?2*22e80?24l4h75fl
  7207.  
  7208.  
  7209.      Let's analyze it.
  7210.  
  7211.      The first line describes the name of the virus. The second line tells
  7212.      the scanner to search for this signature in COM and EXE type files. It
  7213.      also tells the scanner that it should report the file as infected if the
  7214.      signature can be matched. The keyword ATE instructs the scanner to match
  7215.      this signature only at the resolved entry-point of the file. The virus
  7216.      starts of course with decrypting itself, so it is guaranteed that the
  7217.      scanner will scan this location. The ATE instruction limits the scope of
  7218.      this signature to just one position in a file, so this will reduce the
  7219.      chances of false alarms significantly.
  7220.  
  7221.  
  7222.      The third line is the signature definition. Let's reverse engineer it:
  7223.  
  7224.      bh?2      This means: a byte in the range B8-BF followed by two variable
  7225.                bytes. B8-BF is a 'MOV WREG,VALUE' instruction. From the
  7226.                register we only know it is a word register, the value is
  7227.                unknown as well.
  7228.  
  7229.      bh?109    This means: another 'MOV WREG,VALUE' instruction. The register
  7230.                is a word register, and from the value we know that it is in
  7231.                the range 0900 to 09FF.
  7232.  
  7233.      ?2*2      This means: skip two to four bytes. This instruction is inser-
  7234.                ted by the virus to make it harder to define a signature.
  7235.  
  7236.  
  7237.  
  7238.                                       IV - 22
  7239.  
  7240.  
  7241. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                SECTION IV
  7242.  
  7243.  
  7244.      2e80?2    This means: the virus performs an arithmethic byte sized
  7245.                operation with an immediate value (decrypts one byte) with a
  7246.                CS: segment override. The exact operation, the memory location
  7247.                and the value are unknown.
  7248.  
  7249.      4l        This means: a byte in the range 40-47. This is an 'INC WREG'
  7250.                instruction. The virus increments the counter to the next byte
  7251.                to be decrypted.
  7252.  
  7253.      4h        This means: a byte in the range 48-4F. This is a 'DEC WREG'
  7254.                instruction. The virus decrements the iteration count.
  7255.  
  7256.      75fl      Opcode 75 is a JNZ instruction. If the decremented register
  7257.                did not reach zero, the virus jumps back and repeats the
  7258.                operation. How much does it jump? That tells the 'fl' part:
  7259.                somewhere between -16 (F0h) to -8 (F7h) bytes.
  7260.  
  7261.  
  7262.      Although the signature language of TbGenSig is very powerful, there are
  7263.      viruses which are so highly polymorphic that they require even more
  7264.      sophisticated wildcards, keywords or even special detection algorithms.
  7265.      The explanation however of these wildcards, keywords or algorithmic
  7266.      detection definitions is so complicated that it is not suitable to be
  7267.      presented in a user manual.
  7268.  
  7269.  
  7270.  
  7271.  
  7272.  
  7273.  
  7274.  
  7275.  
  7276.  
  7277.  
  7278.  
  7279.  
  7280.  
  7281.  
  7282.  
  7283.  
  7284.  
  7285.  
  7286.  
  7287.  
  7288.  
  7289.  
  7290.  
  7291.  
  7292.  
  7293.  
  7294.  
  7295.  
  7296.  
  7297.                                       IV - 23
  7298.  
  7299.  
  7300. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX A
  7301.  
  7302.  
  7303. Appendix A. TBAV messages
  7304.  
  7305.  
  7306.      The TBAV utilities may display various messages when executed. Most
  7307.      messages will be clear enough, but here is some additional information
  7308.      followed by the name of the appropriate TBAV utility.
  7309.  
  7310.  
  7311.      
  7312. TbClean
  7313.  
  7314.  
  7315.      Anti-Vir.Dat record          The Anti-Vir.Dat record has been found, but
  7316.      found: information mat-      the information matches the current state
  7317.      ches the current state       of the file. The Anti-Vir.Dat record was
  7318.      of the file. Anti-           created after the file got infected, or the
  7319.      Vir.Dat file was created     file is not changed at all. TbClean is
  7320.      after the infection.         going to emulate the file to clean it heu-
  7321.      Trying emulation...          ristically.
  7322.  
  7323.      Anti-Vir.Dat record          The Anti-Vir.Dat record that belongs to the
  7324.      found: reconstructing        infected file has been found. The informa-
  7325.      original state...            tion will be used to reconstruct the file.
  7326.  
  7327.      Anti-Vir.Dat record not      The Anti-Vir.Dat file did not exist or did
  7328.      found: original state        not contain information of the infected
  7329.      unknown. Trying emulati-     program, so the original state of the in-
  7330.      on...                        fected program is unknown to TbClean. Tb-
  7331.                                   Clean will switch to its heuristic mode to
  7332.                                   determine the state of the original file.
  7333.  
  7334.                                   Note: to prevent a situation like this,
  7335.                                   make sure to use the TbSetup program to
  7336.                                   generate the Anti-Vir.Dat records.
  7337.  
  7338.                                   These records are of great help to TbClean.
  7339.                                   When the file is already infected it is too
  7340.                                   late to generate the Anti-Vir.Dat records.
  7341.  
  7342.      Emulation terminate:         The emulation process has been terminated
  7343.      <reason>                     for the reason specified. TbClan will now
  7344.      <reason> can be one of       consult the collected information to see if
  7345.      the following:               it can disinfect the file.
  7346.  
  7347.      Jump to BIOS code.           The virus tried to perform a call or jump
  7348.                                   directly into BIOS code. This process can
  7349.                                   not be emulated so it will be aborted. The
  7350.                                   program can probably not be disinfected.
  7351.  
  7352.      Approached stack crash.      The emulated program is approaching a
  7353.                                   crash. Something went wrong while emulating
  7354.                                   the program so it will be aborted. The
  7355.                                   program can probably not be disinfected.
  7356.  
  7357.  
  7358. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX A
  7359.  
  7360.  
  7361.      Attempt to violate li-       TbClean will not disassemble this program
  7362.      cense agreements.            for obvious reasons.
  7363.  
  7364.      Encountered keyboard         The emulated program tries to read the
  7365.      input request.               keyboard. This is very unusual for viruses,
  7366.                                   so the file is probably not infected at
  7367.                                   all.
  7368.  
  7369.      Encountered an invalid       The emulator encountered an unknown in-
  7370.      instruction.                 struction. For some reason the emulation
  7371.                                   failed. The program can probably not be
  7372.                                   disinfected.
  7373.  
  7374.      DOS program-terminate        The emulated program requests DOS to stop
  7375.      request.                     execution. The program is not infected at
  7376.                                   all, or infected by an overwriting virus
  7377.                                   that does not pass control to its host
  7378.                                   program. The program can not be disinfec-
  7379.                                   ted.
  7380.  
  7381.      Jumped to original pro-      The program jumped back to the start po-
  7382.      gram entry point.            sition. It is very likely it is infected.
  7383.                                   The program can probably be disinfected.
  7384.  
  7385.      Undocumented DOS call        This is very common for viruses that add
  7386.      with pointers to reloca-     themselves in front of the COM type pro-
  7387.      ted code.                    gram. The program can probably be disin-
  7388.                                   fected.
  7389.  
  7390.      Encountered an endless       TbClean encountered a situation in which
  7391.      loop.                        the program is executing the same in-
  7392.                                   struction sequences over and over again for
  7393.                                   hundreds of thousands of times. It is unli-
  7394.                                   kely that the program will ever escape from
  7395.                                   this loop, so the emulation will be abor-
  7396.                                   ted.
  7397.  
  7398.      Ctrl-break pressed.          The user pressed <Ctrl><Break> so the clean
  7399.                                   attempt is aborted.
  7400.  
  7401.      Emulation aborted for        If this message is shown, please send a
  7402.      unknown reason.              copy of the file being emulated to ESaSS BV
  7403.                                   or one of the support BBSs.
  7404.  
  7405.      Sorry, the collected         The heuristic cleaning mode of TbClean is
  7406.      information is not suf-      aborted and has not been successful. The
  7407.      ficient to clean file...     only option left is to restore the file
  7408.                                   from a backup or to re-install the program.
  7409.  
  7410.      Collected enough infor-      The emulation of the virus provided TbClean
  7411.      mation to attempt a re-      with all information to disinfect the file.
  7412.      liable clean opera-
  7413.      tion...
  7414.  
  7415.  
  7416. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX A
  7417.  
  7418.  
  7419.      Some DOS error occured.      Some DOS error occured while trying to
  7420.      TbClean aborted!             clean the file. Check that no files are
  7421.                                   read-only or located on a write protected
  7422.                                   disk, and make sure there is a reasonable
  7423.                                   amount of free disk space.
  7424.  
  7425.      The clean attempt seems      It seems that TbClean removed the virus
  7426.      to be successful. Test       from the file. No doubt about the virus: it
  7427.      the file carefully!          is gone. However, take care and test the
  7428.                                   file carefully to see if it works as expec-
  7429.                                   ted.
  7430.  
  7431.      Reconstruction failed.       TbClean tried to reconstruct the original
  7432.      Program might be over-       file with the help of the Anti-Vir.Dat
  7433.      written. Trying emulati-     record. However, the attempt failed. Tb-
  7434.      on...                        Clean is going to emulate the file to try
  7435.                                   to clean it heuristically.
  7436.  
  7437.      Reconstruction succes-       The file has been reconstructed to its
  7438.      sfully completed.            original state with help of the information
  7439.                                   of the Anti-Vir.Dat record. The CRC (check-
  7440.                                   sum) of the original file and the cleaned
  7441.                                   file are completely equal, so the cleaned
  7442.                                   file is almost certain equal to the origi-
  7443.                                   nal file.
  7444.  
  7445.      Staring clean attempt.       TbClean is analyzing the infected file and
  7446.      Analyzing infected fi-       tries to locate the Anti-Vir.Dat record.
  7447.      le...
  7448.  
  7449.  
  7450. TbDriver
  7451.  
  7452.      Another version of Tb-       You started a TbDriver.Exe with another
  7453.      Driver is already resi-      version number or processor type than the
  7454.      dent!                        TbDriver already in memory.
  7455.  
  7456.      Cannot remove TbDriver.      You tried to remove TbDriver from memory,
  7457.      Unload other TSRs first!     but other resident software as loaded after
  7458.                                   TbDriver. Resident software can only be
  7459.                                   removed from memory by unloading them in
  7460.                                   reversed order.
  7461.  
  7462.      LAN support was  already     You tried to use the option 'net' for a
  7463.      installed.                   second time, or TbDriver already enabled
  7464.                                   network support automatically.
  7465.  
  7466.      TbDriver not active.         The resident TBAV utilities need TbDriver,
  7467.      Load TbDriver first!         so you have to load TbDriver first.
  7468.  
  7469.      TbDriver is not <versi-      The version of TbDriver found in memory
  7470.      on>.                         does not match the version number of this
  7471.                                   resident TBAV utility. Make sure you do not
  7472.                                   mix version numbers!
  7473.  
  7474.  
  7475. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX A
  7476.  
  7477.  
  7478.      This version of TbDriver     You are using a processor optimized version
  7479.      requires a <typeID> pro-     of TbDriver which can not be executed by
  7480.      cessor.                      the current processor.
  7481.  
  7482.  
  7483. TbScan
  7484.  
  7485.      Cannot create logfile.       The specified log file path is illegal, the
  7486.                                   disk is full or write protected, or the
  7487.                                   file already exists and cannot be overwrit-
  7488.                                   ten.
  7489.  
  7490.      [Cannot read datafile]       TbScan needs access to its data file to be
  7491.                                   able to tell you the name of the virus. If
  7492.                                   it cannot access the data file it displays
  7493.                                   this message instead of the virus.
  7494.  
  7495.      Command line error.          An invalid or illegal commandline option
  7496.                                   has been specified.
  7497.  
  7498.      No matching executable       The specified path does not exist, is emp-
  7499.      files found.                 ty, or is not an executable file.
  7500.  
  7501.      Sanity check failed!         TbScan detected that its internal checksum
  7502.                                   does not match anymore. TbScan is possibly
  7503.                                   contaminated by a virus. Obtain a clean
  7504.                                   copy of TbScan, copy the program on a write
  7505.                                   protected diskette, boot from that diskette
  7506.                                   and try again!
  7507.  
  7508.  
  7509. TbScanX
  7510.  
  7511.      Data file not found.         TbScanX has not been able to locate the
  7512.                                   data file.
  7513.  
  7514.      Not enough memory.           There is not enough free memory to process
  7515.                                   the data file. Try to enable swapping, or
  7516.                                   if you are already doing so, try another
  7517.                                   swapping mode. See also section IV, chapter
  7518.                                   "Memory requirements".
  7519.  
  7520.  
  7521. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX B
  7522.  
  7523.  
  7524. Appendix B. TbScan - Heuristic flag descriptions
  7525.  
  7526.  
  7527.      # - Decryptor code found
  7528.      The file possibly contains a self-decryption routine. Some copy-protec-
  7529.      ted software is encrypted so this warning may appear for some of your
  7530.      files. If, however, this warning appears in combination with, for
  7531.      example, the 'T' warning, there could be a virus involved and TbScan
  7532.      assumes the file is contaminated! Many viruses encrypt themselves and
  7533.      cause this warning to be displayed.
  7534.  
  7535.      ! - Invalid program.
  7536.      Invalid opcode or out-of-range branch. The program has either an entry
  7537.      point that has been located outside the body of the file, or reveals a
  7538.      chain of 'jumps' that can be traced to a location outside the program
  7539.      file. Another possibility is that the program contains invalid processor
  7540.      instructions. The program being checked is probably damaged, and cannot
  7541.      be executed in most cases. Anyway, TbScan does not take any risk and
  7542.      uses the 'scan' method to scan the file.
  7543.  
  7544.      1 - 80186+ instructions
  7545.      The file contains instructions which can not be executed by 8088 proces-
  7546.      sors, and require a 80186 or better processor.
  7547.  
  7548.      @ - Strange instructions
  7549.      The file contains instructions which are not likely to be generated by
  7550.      an assembler, but by some code generator like a polymorphic virus
  7551.      instead.
  7552.  
  7553.      ? - Inconsistent header.
  7554.      The program being processed has an exe-header that does not reflect the
  7555.      actual program lay-out. Many viruses do not update the exe-header of an
  7556.      EXE file correctly after they have infected the file, so if this warning
  7557.      pops up frequently, it seems you have a problem.
  7558.  
  7559.      c - No integrity check
  7560.      This warning indicates that no checksum/recovery information has been
  7561.      found about the indicated file. It is highly recommended to use TbSetup
  7562.      in this case to store information of the mentioned file. This info can
  7563.      be used later on for integrity checking and to recover from virus
  7564.      infections.
  7565.  
  7566.      h - Hidden or System file.
  7567.      The file has the 'Hidden' or the 'System' file attribute set. This means
  7568.      that the file is not visible in a DOS directory display but TbScan will
  7569.      scan it anyway. If you don't know the origin and/or purpose of this
  7570.      file, you might be dealing with a 'Trojan Horse' or a 'joke' virus
  7571.      program. Copy such a file onto a diskette; then remove it from it's
  7572.      program environment and check if the program concerned is missing the
  7573.      file. If a program does not miss it, you will have freed some disk
  7574.      space, and maybe you have saved your system from a future disaster in
  7575.      the process.
  7576.  
  7577.      i - Internal overlay.
  7578.  
  7579.  
  7580. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX B
  7581.  
  7582.  
  7583.      The program being processed has additional data or code behind the load-
  7584.      module as specified in the exe-header of the file. The program might
  7585.      have internal overlay(s), or configuration or debug information appended
  7586.      behind the load-module of the EXE file.
  7587.  
  7588.      p - Packed or compressed file.
  7589.      The program has been packed or compressed. There are some utilities that
  7590.      are able to compress a program file, like EXEPACK or PKLITE. If the file
  7591.      was infected after the file had been compressed, TbScan will be able to
  7592.      detect the virus. However, if the file had already been infected before
  7593.      it was compressed, the virus has also been compressed in the process,
  7594.      and a virus scanner might not be able to recognize the virus anymore.
  7595.      Fortunately, this does not happen very often, but you should beware! A
  7596.      new program might look clean, but can turn out to be the carrier of a
  7597.      compressed virus. Other files in your system will then be infected too,
  7598.      and it is these infections that will be clearly visible to virus scan-
  7599.      ners.
  7600.  
  7601.      w - Windows or OS/2 header.
  7602.      The program can be or is intended to be used in a Windows (or OS/2)
  7603.      environment. TbScan will also scan this file for Windows and OS/2
  7604.      viruses too.
  7605.  
  7606.      A - Suspicious Memory Allocation
  7607.      The program uses a non-standard way to search for, and/or to allocate
  7608.      memory. A lot of viruses try to hide themselves in memory so they use a
  7609.      non-standard way to allocate this memory. Some programs (high-loaders or
  7610.      diagnostic software) also use non-standard ways to search or allocate
  7611.      memory.
  7612.  
  7613.      B - Back to entry.
  7614.      The program seems to execute some code, and after that it jumps back to
  7615.      the entry-point of the program. Normally this would result in an endless
  7616.      loop, except when the program has also modified some of its instructi-
  7617.      ons. This is quite common behaviour for computer viruses. In combination
  7618.      with any other flag TbScan will report a virus.
  7619.  
  7620.      C - File has been changed
  7621.      This warning can only appear if you used TbSetup to generate the Anti-
  7622.      Vir.Dat files. If this warning appears this means that the file has been
  7623.      changed. If you did not upgrade the software it is very likely that a
  7624.      virus infected the file! Note that TbScan does not display this warning
  7625.      if only some internal configuration area of the file changes. This
  7626.      warning means that code at the program entry point, the entry-point
  7627.      itself and/or the file size have been changed.
  7628.  
  7629.      D - Direct disk access
  7630.      This flag is displayed if the program being processed has instructions
  7631.      near the entry-point to write to a disk directly. It is quite normal
  7632.      that some disk-related utilities cause this flag to be displayed. As
  7633.      usual, if many of your files (which have no business writing directly to
  7634.      the disk) cause this flag to be displayed, your system might be infected
  7635.      by an unknown virus.
  7636.  
  7637.  
  7638. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX B
  7639.  
  7640.  
  7641. =>   Note that a program that accesses the disk directly does not always have
  7642.      to be marked by the 'D' flag. Only when the direct disk instructions are
  7643.      near the program entry point it will be reported by TbScan. If a virus
  7644.      is involved the harmful instructions are always near the entry point,
  7645.      which is the place where TbScan looks for them.
  7646.  
  7647.      E - Flexible Entry-point
  7648.      The program starts with a routine that determines its own location
  7649.      within the program file. This is rather suspicious because sound pro-
  7650.      grams have a fixed entry-point so they do not have to determine this
  7651.      location. For viruses however this is quite common: about 50% of the
  7652.      known viruses cause this flag to be displayed.
  7653.  
  7654.      F - Suspicious file access
  7655.      TbScan has found instruction sequences common to infection schemes used
  7656.      by viruses. This flag will appear with those programs that are able to
  7657.      create or modify existing files.
  7658.  
  7659.      G - Garbage instructions.
  7660.      The program contains code that seems to have no purpose other than
  7661.      encryption or avoiding recognition by virus scanners. In most cases
  7662.      there will not be any other flags since the file is encrypted and the
  7663.      instructions are hidden. In a few cases this flag will appear for
  7664.      'normal' files. These files however are badly designed, which is the
  7665.      reason the 'garbage' flag appears.
  7666.  
  7667.      J - Suspicious jump construct.
  7668.      The program did not start at the program entry point. The code has
  7669.      jumped at least two times before reaching the final start-up code, or
  7670.      the program jumped using an indirect operand. Sound programs should not
  7671.      display this kind of strange behaviour. If many files cause this warning
  7672.      to be displayed, you should investigate your system thoroughly.
  7673.  
  7674.      K - Unusual stack.
  7675.      The EXE file being processed has an odd (instead of even) stack offset
  7676.      or a suspicious stack segment. Many viruses are quite 'buggy' by setting
  7677.      up an illegal stack value.
  7678.  
  7679.      L - program Load trap
  7680.      The program might trap the execution of other software. If the file also
  7681.      causes flag M (memory resident code) to be displayed, it is very likely
  7682.      that the file is a resident program that determines when another program
  7683.      is executed. A lot of viruses trap the program load and use it to infect
  7684.      the program. Some anti-virus utilities also trap the program load.
  7685.  
  7686.      M - Memory resident code.
  7687.      TbScan has found instruction sequences which could cause the program to
  7688.      hook into important interrupts. A lot of TSR (Terminate and Stay Resi-
  7689.      dent) programs will trigger this flag, because hooking into interrupts
  7690.      is part of their usual behaviour. If, however, a lot of non-TSR programs
  7691.      cause this warning flag to appear, you should be suspicious. It is
  7692.      likely that your files have been infected by a virus that remains
  7693.      resident in memory. Note that this warning does not appear with all true
  7694.  
  7695.  
  7696. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX B
  7697.  
  7698.  
  7699.      TSR programs. Nor can TSR detection in non-TSR programs always be relied
  7700.      upon.
  7701.  
  7702.      N - Wrong name extension
  7703.      Name conflict. The program carries the extension .EXE but appears to be
  7704.      an ordinary .COM file, or it has the extension .COM but the internal
  7705.      layout of an .EXE file. A wrong name extension might in some cases
  7706.      indicate a virus, but in most cases it does not.
  7707.  
  7708.      O - code Overwrite.
  7709.      This flag will be displayed if TbScan detects that the program overwri-
  7710.      tes some of its own instructions. However, it does not seem to have a
  7711.      complete (de)cryptor routine.
  7712.  
  7713.      R - Suspicious relocator
  7714.      Flag 'R' refers to a suspicious relocator. A relocator is a sequence of
  7715.      instructions that changes the proportion of CS:IP. It is often used by
  7716.      viruses. Those viruses have to relocate the CS:IP proportion because
  7717.      they have been compiled for a specific location in the executable file;
  7718.      a virus that infects another program can hardly ever use its original
  7719.      location in the file as it is appended to this file. Sound pro-
  7720.      grams'know' their location in the executable file, so they don't have to
  7721.      relocate themselves. On systems that operate normally only a small
  7722.      percentage of the programs should therefore cause this flag to be
  7723.      displayed.
  7724.  
  7725.      S - Search for executables
  7726.      The program searches for *.COM or *.EXE files. This by itself does not
  7727.      indicate a virus, but it is an ingredient of most viruses anyway (they
  7728.      have to search for suitable files to spread themselves).  If accompanied
  7729.      by other flags, TbScan will assume the file is infected by a virus.
  7730.  
  7731.      T - Invalid timestamp.
  7732.      The timestamp of the program is invalid: e.g. the number of seconds in
  7733.      the timestamp is illegal, or the date is illegal or later than the year
  7734.      2000. This is suspicious because many viruses set the timestamp to an
  7735.      illegal value (like 62 seconds) to mark that they already infected the
  7736.      file, preventing themselves from infecting a file for a second time
  7737.      around. It is possible that the program being checked is contaminated
  7738.      with a virus that is still unknown, especially if many files on your
  7739.      system have an invalid timestamp. If only a very few programs have an
  7740.      invalid timestamp you'd better correct it and scan frequently to check
  7741.      that the timestamp of the files remains valid.
  7742.  
  7743.      U - Undocumented system call.
  7744.      The program uses unknown DOS calls or interrupts. These unknown calls
  7745.      can be issued to invoke undocumented DOS features, or to communicate
  7746.      with an unknown driver in memory. Since a lot of viruses use undocumen-
  7747.      ted DOS features, or communicate with memory resident parts of a previ-
  7748.      ously loaded instance of the virus, it is suspicious if a program
  7749.      performs unknown or undocumented communications. Nevertheless, it does
  7750.      not necessarily indicate a virus, since some 'tricky' programs use
  7751.      undocumented features also. 
  7752.  
  7753.  
  7754. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX B
  7755.  
  7756.  
  7757.      V - Validated program
  7758.      The program has been validated to avoid false alarms.
  7759.      -    The design of this program would normally cause a false alarm by
  7760.           the heuristic scan mode of TbScan, or:
  7761.      -    This program might change frequently, and the file is excluded from
  7762.           integrity checking.
  7763.      These exclusions are stored in the Anti-Vir.Dat file by either TbSetup
  7764.      (automatically) or by TbScan (manually).
  7765.  
  7766.      Y - Invalid bootsector.
  7767.      The bootsector is not completely in accordance with the IBM defined
  7768.      bootsector format. It is possible that the bootsector contains a virus
  7769.      or has been corrupted.
  7770.  
  7771.      Z - EXE/COM determinator.
  7772.      The program seems to check whether a file is a COM or EXE type program.
  7773.      Infecting a COM file is a process that is not similar to infecting an
  7774.      EXE file, which implies that viruses able to infect both program types
  7775.      should also be able to distinguish between them. There are of course
  7776.      also innocent programs that need to find out whether a file is a COM or
  7777.      EXE file. Executable file compressors, EXE2COM converters, debuggers,
  7778.      and high-loaders are examples of programs that may contain a routine to
  7779.      distinguish between EXE and COM files.
  7780.  
  7781.  
  7782. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX C
  7783.  
  7784.  
  7785. Appendix C. Solving incompatibility problems
  7786.  
  7787.  
  7788.      Although TBAV utilities have been designed to cooperate with other
  7789.      resident software, other software may not, causing system errors or
  7790.      worse.
  7791.  
  7792.  
  7793.  
  7794.      Problem:  If any TBAV utility tries to display a message, the text
  7795.                'message file <filename> could not be opened' appears.
  7796.  
  7797.      Solution: Specify the FULL path and filename of the file you will use as
  7798.                message file after the TbDriver loading command. The default
  7799.                file name is "TbDriver.Lng".
  7800.  
  7801.  
  7802.  
  7803.      Problem:  One of your utilities is loading a TSR into memory without an
  7804.                'executable' filename extension, such as .EXE or .COM. Since
  7805.                TbSetup will only create Anti-Vir.Dat records for files with
  7806.                an 'executable' extension, there is no Anti-Vir.Dat, so TbMem
  7807.                is not able to record the TSR permission information.
  7808.  
  7809.      Solution: Run TbSetup and specify the exact filename of the TSR. TbSetup
  7810.                will create an Anti-Vir.Dat record, regardless of the filename
  7811.                extension, so TbMem is now able to record its information.
  7812.  
  7813.                Although the Anti-Vir.Dat record exists, TbScan will not use
  7814.                it to check the CRC to avoid false alarms.
  7815.  
  7816.  
  7817.      Problem:  You are running a network. 
  7818.  
  7819.                TbScanX is installed succesfully, but it does not display the
  7820.                "*scanning*" message while accessing files. It does not detect
  7821.                viruses either.
  7822.  
  7823.                TbCheck is installed succesfully, but it does not display the
  7824.                "*checking*" message while accessing files. It does not detect
  7825.                viruses either. 
  7826.  
  7827.                TbFile is installed succesfully, but it does not detect anyt-
  7828.                hing anymore.
  7829.  
  7830.                TbMem is installed succesfully, but it does not detect TSRs
  7831.                anymore.
  7832.  
  7833.      Solution: Use the command 'TbDriver net' after the network has been
  7834.                loaded.
  7835.  
  7836.  
  7837. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX C
  7838.  
  7839.  
  7840.      Problem:  The system sometimes hangs when the message "*scanning*" is on
  7841.                the screen.
  7842.  
  7843.      Solution: Try TbScanX without option 'EMS' or 'XMS'. If TbScanX now
  7844.                works without any problems, add option 'EMS' or 'XMS' again
  7845.                along with option 'compat'. On some systems the TbScanX 'XMS'
  7846.                option cannot be used at all, because these systems do not
  7847.                allow the use of extended memory by resident software.
  7848.  
  7849.                If the problem is related to option 'XMS' and can not be
  7850.                solved with option 'compat', you can use option 'XMSseg =
  7851.                <value>' to change the XMS swap segment address. The value
  7852.                should be between 2000 and 8000. The default value is 4000.
  7853.  
  7854.  
  7855.  
  7856.      Problem:  After you have given permission for a program to remain resi-
  7857.                dent in memory, TbMem asks the same question the next time.
  7858.  
  7859.      Solution: 1)   The 'secure' option of TbDriver is specified. Remove this
  7860.                     option, reboot and try again.
  7861.  
  7862.                2)   The program mentioned does not appear in the Anti-Vir.Dat
  7863.                     file and therefore TbMem cannot permanently store the
  7864.                     permission flag. Use TbSetup to generate the Anti-Vir.Dat
  7865.                     record of this program!
  7866.  
  7867.  
  7868.  
  7869.      Problem:  The system sometimes hangs when you answer 'YES' (abort pro-
  7870.                gram) to a TbMem message.
  7871.  
  7872.      Solution: None. Some resident programs deeply interfere with the system,
  7873.                and once they are rejected from memory the state of the system
  7874.                is not stable anymore.
  7875.  
  7876.  
  7877.  
  7878.      Problem:  When you load TbDisk from the DOS command prompt everything
  7879.                works OK. However, when you install TbDisk from within the
  7880.                Config.Sys or AutoExec.Bat file it keeps on warning that
  7881.                programs write to disk directly.
  7882.  
  7883.      Solution: Load TbDisk at the end of your AutoExec.Bat file.
  7884.  
  7885.  
  7886.  
  7887.      Problem:  You formatted the hard disk using DOS FORMAT.COM, but TbDisk
  7888.                did not come up with a message until the process was almost
  7889.                finished.
  7890.  
  7891.      Solution: This is not a problem. A high level format program like DOS
  7892.                FORMAT.COM does actually not format the disk, but it reads all
  7893.                tracks to locate possible bad spots, and finally it clears the
  7894.  
  7895.  
  7896. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX C
  7897.  
  7898.  
  7899.                FAT and directory structure. Only this last step implies a
  7900.                disk write, so only this last step is detected by TbDisk.
  7901.  
  7902.  
  7903.  
  7904.      Problem:  After you have given permission for a program to perform
  7905.                direct disk access, TbDisk asks the same question next time.
  7906.  
  7907.      Solution: 1)   The 'secure' option of TbDriver is specified.  Remove
  7908.                     this option, reboot and try again. 
  7909.  
  7910.                2)   The program mentioned does not appear in the Anti-Vir.Dat
  7911.                     file and therefore TbDisk can not permanently store the
  7912.                     permission flag. Use TbSetup to generate the Anti-Vir.Dat
  7913.                     record ofthis program!
  7914.  
  7915.  
  7916.  
  7917.      Problem:  If you try to use Windows fast 32 bit disk access, Windows
  7918.                comes up with an error message.
  7919.  
  7920.      Solution: Use option 'win32' on the TbDisk command line.
  7921.  
  7922.  
  7923. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX D
  7924.  
  7925.  
  7926. Appendix D. Batch file handling
  7927.  
  7928.  
  7929.      All TBAV utilities return to DOS with an error code which you can use by
  7930.      the DOS 'errorlevel' command. Consult your DOS manual for information
  7931.      how to use this command.
  7932.  
  7933.      TbScan terminates with one of the following exit codes:
  7934.  
  7935.      Errorlevel      0        No viruses found / No error occurred
  7936.                      1        No files found
  7937.                      2        Error occurred
  7938.                      3        Files have been changed
  7939.                      4        Virus found by heuristic analysis
  7940.                      5        Virus found by signature scanning
  7941.                    255        Sanity check failed
  7942.  
  7943.  
  7944.      TbUtil terminates with one of the following exit codes:
  7945.  
  7946.      Errorlevel      0        No error occurred
  7947.                      1        When option 'compare' fails or an error occurs
  7948.  
  7949.  
  7950.      All other ultilities exit with one of the following exit codes:
  7951.  
  7952.      Errorlevel      0        No error occurred
  7953.                      1        Error occurred
  7954.  
  7955.  
  7956.      To detect within a batch file whether a resident TBAV utility has been
  7957.      loaded you can check for the device names. All TBAV utilities install a
  7958.      device name, whether they are loaded in the Config.Sys or AutoExec.Bat.
  7959.  
  7960.      You can use the DOS 'if exist' construction to check for the device
  7961.      names:
  7962.  
  7963.           @echo off
  7964.           if not exist SCANX echo TbScanX has not been loaded!
  7965.  
  7966.      Or you can branch to a label by using the goto command:
  7967.  
  7968.           If not exist SCANX goto noscanx
  7969.           bla bla
  7970.           :noscanx
  7971.           bla bla
  7972.  
  7973.      The TBAV device names are:
  7974.           TbScanX:            SCANX
  7975.           TbCheck:            TBCHKXXX
  7976.           TbMem:              TBMEMXXX
  7977.           TbFile:             TBFILXXX
  7978.           TbDisk:             TBDSKXXX
  7979.           TbLog:              TBLOGXXX
  7980.  
  7981.  
  7982. TBAV user manual (C) Copyright 1994 Thunderbyte B.V.                APPENDIX E
  7983.  
  7984.  
  7985. Appendix E. Virus naming
  7986.  
  7987.  
  7988.      How many viruses does TbScan detect?
  7989.  
  7990.      Most of the TbScan signatures are family signatures: one signature
  7991.      detects a whole set of viruses. All these viruses are related to each
  7992.      other. The Jerusalem signature for instance covers more than 100 viru-
  7993.      ses. For this reason one cannot tell how many viruses TbScan detects.
  7994.      Some competitive products treat each virus mutant as a separate virus,
  7995.      thus claiming to detect over 2000 viruses. TbScan, however can detect
  7996.      viruses using 'only' 1000 signatures. If you want to compare virus
  7997.      scanners, you have to rely on the tests frequently published in magazi-
  7998.      nes.
  7999.  
  8000.  
  8001.      The virus naming convention
  8002.  
  8003.      TbScan follows the CARO virus naming recommendations. CARO is an organi-
  8004.      sation in which leading anti-virus researchers participate. Viruses are
  8005.      grouped in a hierarchical tree, which indicates to which family viruses
  8006.      belong. TbScan shows the complete CARO name where possible. Many other
  8007.      anti-virus products however just show the family name or the member
  8008.      name. For instance, the 'Leprosy.Seneca.493' virus might be indicated by
  8009.      the familiy name 'Leprosy' or member name 'Seneca', or even by the
  8010.      variant name '493'. 
  8011.  
  8012.      Anti-virus products developed by non CARO members might even use a
  8013.      completely different name. TbScan however tries to display as much of
  8014.      the name as possible. If TbScan is not able to distinguish between the
  8015.      'Leprosy.Seneca.493' and 'Leprosy.Seneca.517' viruses, both viruses are
  8016.      indicated by the name 'Leprosy.Seneca'.
  8017.  
  8018.      Some viruses mutate themselves frequently. To detect all instances of
  8019.      such a virus it is sometimes necessary to use multiple signatures.
  8020.      Although these signatures cover exactly the same virus, they do have a
  8021.      slightly different indication. Behind the name of the virus you will see
  8022.      a number between anglebrackets. This number however has nothing to do
  8023.      with the name of the virus, but is there just for maintenance reasons.
  8024.